Mailing List Archive

Update to Linux 2.6.16-rc2.
# HG changeset patch
# User cl349@firebug.cl.cam.ac.uk
# Node ID 47a2eb32002a960ffd15dd9617425d326b10a441
# Parent a3f4357a9e16efa05d963fcbdc93cb667cee6b5d
Update to Linux 2.6.16-rc2.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>

diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xen0_x86_32
--- a/buildconfigs/linux-defconfig_xen0_x86_32 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xen0_x86_32 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4-xen0
-# Thu Feb 2 18:19:17 2006
+# Linux kernel version: 2.6.16-rc2-xen0
+# Fri Feb 3 16:57:06 2006
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
@@ -160,6 +160,11 @@
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_3G_OPT is not set
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -589,10 +594,12 @@
#
# Fusion MPT device support
#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
+CONFIG_FUSION_MAX_SGE=128
+# CONFIG_FUSION_CTL is not set

#
# IEEE 1394 (FireWire) support
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xen0_x86_64
--- a/buildconfigs/linux-defconfig_xen0_x86_64 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xen0_x86_64 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4
-# Thu Feb 2 17:51:17 2006
+# Linux kernel version: 2.6.16-rc2-xen0
+# Fri Feb 3 16:53:41 2006
#
CONFIG_X86_64=y
CONFIG_64BIT=y
@@ -529,10 +529,12 @@
#
# Fusion MPT device support
#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
+CONFIG_FUSION_MAX_SGE=128
+# CONFIG_FUSION_CTL is not set

#
# IEEE 1394 (FireWire) support
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xenU_x86_32
--- a/buildconfigs/linux-defconfig_xenU_x86_32 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xenU_x86_32 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4-xenU
-# Thu Feb 2 18:28:58 2006
+# Linux kernel version: 2.6.16-rc2-xenU
+# Fri Feb 3 16:57:27 2006
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
@@ -159,6 +159,11 @@
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_3G_OPT is not set
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xenU_x86_64
--- a/buildconfigs/linux-defconfig_xenU_x86_64 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xenU_x86_64 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4
-# Thu Feb 2 17:50:11 2006
+# Linux kernel version: 2.6.16-rc2-xenU
+# Fri Feb 3 16:30:13 2006
#
CONFIG_X86_64=y
CONFIG_64BIT=y
@@ -735,7 +735,6 @@
CONFIG_QNX4FS_FS=m
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xen_x86_32
--- a/buildconfigs/linux-defconfig_xen_x86_32 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xen_x86_32 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4-xen
-# Thu Feb 2 18:43:06 2006
+# Linux kernel version: 2.6.16-rc2-xen
+# Fri Feb 3 16:57:47 2006
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
@@ -166,6 +166,11 @@
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_3G_OPT is not set
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -1222,7 +1227,6 @@
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
-# CONFIG_I2O_EXT_ADAPTEC_DMA64 is not set
CONFIG_I2O_CONFIG=m
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=m
@@ -2494,6 +2498,7 @@
# CONFIG_USB_DABUSB is not set
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
+CONFIG_USB_ET61X251=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_OV511=m
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/linux-defconfig_xen_x86_64
--- a/buildconfigs/linux-defconfig_xen_x86_64 Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/linux-defconfig_xen_x86_64 Fri Feb 3 17:49:27 2006
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.16-rc1-git4
-# Thu Feb 2 17:54:57 2006
+# Linux kernel version: 2.6.16-rc2-xen
+# Fri Feb 3 16:30:34 2006
#
CONFIG_X86_64=y
CONFIG_64BIT=y
@@ -2195,6 +2195,7 @@
CONFIG_USB_DABUSB=m
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
+CONFIG_USB_ET61X251=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_OV511=m
diff -r a3f4357a9e16 -r 47a2eb32002a buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Fri Feb 3 14:24:52 2006
+++ b/buildconfigs/mk.linux-2.6-xen Fri Feb 3 17:49:27 2006
@@ -2,8 +2,8 @@
OS = linux

LINUX_SERIES = 2.6
-LINUX_VER = 2.6.16-rc1-git4
-LINUX_SRCS = linux-2.6.15.tar.bz2 patch-2.6.16-rc1.bz2 patch-2.6.16-rc1-git4.bz2
+LINUX_VER = 2.6.16-rc2
+LINUX_SRCS = linux-2.6.15.tar.bz2 patch-2.6.16-rc2.bz2
LINUX_PDIR = linux-$(LINUX_VER)

EXTRAVERSION ?= xen
@@ -33,7 +33,7 @@
touch $(@D)/.hgskip
touch $@

-pristine-linux-%.16-rc1-git4/.valid-pristine: pristine-$(LINUX_PDIR)/.valid-srcs
+pristine-linux-%.16-rc2/.valid-pristine: pristine-$(LINUX_PDIR)/.valid-srcs
touch $@ # update timestamp to avoid rebuild

$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/i386/Kconfig
--- a/linux-2.6-xen-sparse/arch/i386/Kconfig Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/i386/Kconfig Fri Feb 3 17:49:27 2006
@@ -46,16 +46,6 @@
default y

source "init/Kconfig"
-
-config DOUBLEFAULT
- default y
- bool "Enable doublefault exception handler" if EMBEDDED
- depends on !XEN
- help
- This option allows trapping of rare doublefault exceptions that
- would otherwise cause a system to silently reboot. Disabling this
- option saves about 4k and might cause you much additional grey
- hair.

menu "Processor type and features"

@@ -492,6 +482,43 @@

endchoice

+choice
+ depends on EXPERIMENTAL && !X86_PAE
+ prompt "Memory split"
+ default VMSPLIT_3G
+ help
+ Select the desired split between kernel and user memory.
+
+ If the address range available to the kernel is less than the
+ physical memory installed, the remaining memory will be available
+ as "high memory". Accessing high memory is a little more costly
+ than low memory, as it needs to be mapped into the kernel first.
+ Note that increasing the kernel address space limits the range
+ available to user programs, making the address space there
+ tighter. Selecting anything other than the default 3G/1G split
+ will also likely make your kernel incompatible with binary-only
+ kernel modules.
+
+ If you are not absolutely sure what you are doing, leave this
+ option alone!
+
+ config VMSPLIT_3G
+ bool "3G/1G user/kernel split"
+ config VMSPLIT_3G_OPT
+ bool "3G/1G user/kernel split (for full 1G low memory)"
+ config VMSPLIT_2G
+ bool "2G/2G user/kernel split"
+ config VMSPLIT_1G
+ bool "1G/3G user/kernel split"
+endchoice
+
+config PAGE_OFFSET
+ hex
+ default 0xB0000000 if VMSPLIT_3G_OPT
+ default 0x78000000 if VMSPLIT_2G
+ default 0x40000000 if VMSPLIT_1G
+ default 0xC0000000
+
config HIGHMEM
bool
depends on HIGHMEM64G || HIGHMEM4G
@@ -748,6 +775,16 @@
can be controlled through /sys/devices/system/cpu.

Say N.
+
+config DOUBLEFAULT
+ default y
+ bool "Enable doublefault exception handler" if EMBEDDED
+ depends on !XEN
+ help
+ This option allows trapping of rare doublefault exceptions that
+ would otherwise cause a system to silently reboot. Disabling this
+ option saves about 4k and might cause you much additional grey
+ hair.

endmenu

diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
--- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile Fri Feb 3 17:49:27 2006
@@ -3,7 +3,7 @@
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o

ifneq ($(CONFIG_ACPI_PROCESSOR),)
-obj-y += cstate.o
+obj-y += cstate.o processor.o
endif

ifdef CONFIG_XEN
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c Fri Feb 3 17:49:27 2006
@@ -466,7 +466,7 @@
* success: return IRQ number (>=0)
* failure: return < 0
*/
-int acpi_register_gsi(u32 gsi, int edge_level, int active_high_low)
+int acpi_register_gsi(u32 gsi, int triggering, int polarity)
{
unsigned int irq;
unsigned int plat_gsi = gsi;
@@ -478,14 +478,14 @@
if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
extern void eisa_set_level_irq(unsigned int irq);

- if (edge_level == ACPI_LEVEL_SENSITIVE)
+ if (triggering == ACPI_LEVEL_SENSITIVE)
eisa_set_level_irq(gsi);
}
#endif

#ifdef CONFIG_X86_IO_APIC
if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) {
- plat_gsi = mp_register_gsi(gsi, edge_level, active_high_low);
+ plat_gsi = mp_register_gsi(gsi, triggering, polarity);
}
#endif
acpi_gsi_to_irq(plat_gsi, &irq);
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c Fri Feb 3 17:49:27 2006
@@ -1097,7 +1097,7 @@

#define MAX_GSI_NUM 4096

-int mp_register_gsi (u32 gsi, int edge_level, int active_high_low)
+int mp_register_gsi (u32 gsi, int triggering, int polarity)
{
int ioapic = -1;
int ioapic_pin = 0;
@@ -1146,7 +1146,7 @@

mp_ioapic_routing[ioapic].pin_programmed[idx] |= (1<<bit);

- if (edge_level) {
+ if (triggering == ACPI_LEVEL_SENSITIVE) {
/*
* For PCI devices assign IRQs in order, avoiding gaps
* due to unused I/O APIC pins.
@@ -1168,8 +1168,8 @@
}

io_apic_set_pci_routing(ioapic, ioapic_pin, gsi,
- edge_level == ACPI_EDGE_SENSITIVE ? 0 : 1,
- active_high_low == ACPI_ACTIVE_HIGH ? 0 : 1);
+ triggering == ACPI_EDGE_SENSITIVE ? 0 : 1,
+ polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
return gsi;
}

diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c Fri Feb 3 17:49:27 2006
@@ -542,6 +542,11 @@
case PCI_DEVICE_ID_INTEL_ICH7_30:
case PCI_DEVICE_ID_INTEL_ICH7_31:
case PCI_DEVICE_ID_INTEL_ESB2_0:
+ case PCI_DEVICE_ID_INTEL_ICH8_0:
+ case PCI_DEVICE_ID_INTEL_ICH8_1:
+ case PCI_DEVICE_ID_INTEL_ICH8_2:
+ case PCI_DEVICE_ID_INTEL_ICH8_3:
+ case PCI_DEVICE_ID_INTEL_ICH8_4:
r->name = "PIIX/ICH";
r->get = pirq_piix_get;
r->set = pirq_piix_set;
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/um/kernel/physmem.c
--- a/linux-2.6-xen-sparse/arch/um/kernel/physmem.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/um/kernel/physmem.c Fri Feb 3 17:49:27 2006
@@ -267,7 +267,7 @@
highmem_len = highmem_pages * sizeof(struct page);

total_pages = phys_pages + iomem_pages + highmem_pages;
- total_len = phys_len + iomem_pages + highmem_len;
+ total_len = phys_len + iomem_len + highmem_len;

if(kmalloc_ok){
map = kmalloc(total_len, GFP_KERNEL);
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S
--- a/linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S Fri Feb 3 17:49:27 2006
@@ -703,7 +703,7 @@
.quad sys_mkdirat
.quad sys_mknodat
.quad sys_fchownat
- .quad sys_futimesat
+ .quad compat_sys_futimesat
.quad compat_sys_newfstatat /* 300 */
.quad sys_unlinkat
.quad sys_renameat
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile Fri Feb 3 17:49:27 2006
@@ -2,4 +2,8 @@
boot-y := ../../../i386/kernel/acpi/boot.o
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o

+ifneq ($(CONFIG_ACPI_PROCESSOR),)
+obj-y += processor.o
+endif
+
boot-$(CONFIG_XEN) := ../../../i386/kernel/acpi/boot-xen.o
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c Fri Feb 3 17:49:27 2006
@@ -2105,7 +2105,7 @@
}


-int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int active_high_low)
+int io_apic_set_pci_routing (int ioapic, int pin, int irq, int triggering, int polarity)
{
struct IO_APIC_route_entry entry;
unsigned long flags;
@@ -2127,8 +2127,8 @@
entry.delivery_mode = INT_DELIVERY_MODE;
entry.dest_mode = INT_DEST_MODE;
entry.dest.logical.logical_dest = cpu_mask_to_apicid(TARGET_CPUS);
- entry.trigger = edge_level;
- entry.polarity = active_high_low;
+ entry.trigger = triggering;
+ entry.polarity = polarity;
entry.mask = 1; /* Disabled (masked) */

irq = gsi_irq_sharing(irq);
@@ -2143,9 +2143,9 @@
apic_printk(APIC_VERBOSE,KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry (%d-%d -> 0x%x -> "
"IRQ %d Mode:%i Active:%i)\n", ioapic,
mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq,
- edge_level, active_high_low);
-
- ioapic_register_intr(irq, entry.vector, edge_level);
+ triggering, polarity);
+
+ ioapic_register_intr(irq, entry.vector, triggering);

if (!ioapic && (irq < 16))
disable_8259A_irq(irq);
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c Fri Feb 3 17:49:27 2006
@@ -920,7 +920,7 @@

#define MAX_GSI_NUM 4096

-int mp_register_gsi(u32 gsi, int edge_level, int active_high_low)
+int mp_register_gsi(u32 gsi, int triggering, int polarity)
{
int ioapic = -1;
int ioapic_pin = 0;
@@ -969,7 +969,7 @@

mp_ioapic_routing[ioapic].pin_programmed[idx] |= (1<<bit);

- if (edge_level) {
+ if (triggering == ACPI_LEVEL_SENSITIVE) {
/*
* For PCI devices assign IRQs in order, avoiding gaps
* due to unused I/O APIC pins.
@@ -991,8 +991,8 @@
}

io_apic_set_pci_routing(ioapic, ioapic_pin, gsi,
- edge_level == ACPI_EDGE_SENSITIVE ? 0 : 1,
- active_high_low == ACPI_ACTIVE_HIGH ? 0 : 1);
+ triggering == ACPI_EDGE_SENSITIVE ? 0 : 1,
+ polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
return gsi;
}

diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/drivers/acpi/Kconfig
--- a/linux-2.6-xen-sparse/drivers/acpi/Kconfig Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/drivers/acpi/Kconfig Fri Feb 3 17:49:27 2006
@@ -267,7 +267,6 @@

config ACPI_EC
bool
- depends on X86
default y
help
This driver is required on some systems for the proper operation of
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/drivers/serial/Kconfig
--- a/linux-2.6-xen-sparse/drivers/serial/Kconfig Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/drivers/serial/Kconfig Fri Feb 3 17:49:27 2006
@@ -24,7 +24,7 @@
work.)

To compile this driver as a module, choose M here: the
- module will be called serial.
+ module will be called 8250.
[WARNING: Do not compile this driver as a module if you are using
non-standard serial ports, since the configuration information will
be lost when the driver is unloaded. This limitation may be lifted
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/fs/Kconfig
--- a/linux-2.6-xen-sparse/fs/Kconfig Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/fs/Kconfig Fri Feb 3 17:49:27 2006
@@ -1328,7 +1328,7 @@

config UFS_FS_WRITE
bool "UFS file system write support (DANGEROUS)"
- depends on UFS_FS && EXPERIMENTAL
+ depends on UFS_FS && EXPERIMENTAL && BROKEN
help
Say Y here if you want to try writing to UFS partitions. This is
experimental, so you should back up your UFS partitions beforehand.
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h
--- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h Fri Feb 3 17:49:27 2006
@@ -280,10 +280,10 @@
#endif /* __ASSEMBLY__ */

#ifdef __ASSEMBLY__
-#define __PAGE_OFFSET (0xC0000000)
+#define __PAGE_OFFSET CONFIG_PAGE_OFFSET
#define __PHYSICAL_START CONFIG_PHYSICAL_START
#else
-#define __PAGE_OFFSET (0xC0000000UL)
+#define __PAGE_OFFSET ((unsigned long)CONFIG_PAGE_OFFSET)
#define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START)
#endif
#define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START)
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/lib/Makefile
--- a/linux-2.6-xen-sparse/lib/Makefile Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/lib/Makefile Fri Feb 3 17:49:27 2006
@@ -9,7 +9,7 @@

lib-y += kobject.o kref.o kobject_uevent.o klist.o

-obj-y += sort.o parser.o halfmd4.o
+obj-y += sort.o parser.o halfmd4.o iomap_copy.o

ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/mm/memory.c
--- a/linux-2.6-xen-sparse/mm/memory.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/mm/memory.c Fri Feb 3 17:49:27 2006
@@ -1987,6 +1987,7 @@
goto out;

entry = pte_to_swp_entry(orig_pte);
+again:
page = lookup_swap_cache(entry);
if (!page) {
swapin_readahead(entry, address, vma);
@@ -2010,6 +2011,12 @@

mark_page_accessed(page);
lock_page(page);
+ if (!PageSwapCache(page)) {
+ /* Page migration has occured */
+ unlock_page(page);
+ page_cache_release(page);
+ goto again;
+ }

/*
* Back out if somebody else already faulted in this pte.
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/mm/page_alloc.c
--- a/linux-2.6-xen-sparse/mm/page_alloc.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/mm/page_alloc.c Fri Feb 3 17:49:27 2006
@@ -1801,7 +1801,7 @@
memmap_init_zone((size), (nid), (zone), (start_pfn))
#endif

-static int __meminit zone_batchsize(struct zone *zone)
+static int __cpuinit zone_batchsize(struct zone *zone)
{
int batch;

@@ -1895,7 +1895,7 @@
* Dynamically allocate memory for the
* per cpu pageset array in struct zone.
*/
-static int __meminit process_zones(int cpu)
+static int __cpuinit process_zones(int cpu)
{
struct zone *zone, *dzone;

@@ -1936,7 +1936,7 @@
}
}

-static int __meminit pageset_cpuup_callback(struct notifier_block *nfb,
+static int __cpuinit pageset_cpuup_callback(struct notifier_block *nfb,
unsigned long action,
void *hcpu)
{
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/net/core/dev.c
--- a/linux-2.6-xen-sparse/net/core/dev.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/net/core/dev.c Fri Feb 3 17:49:27 2006
@@ -2593,13 +2593,14 @@
case SIOCBONDENSLAVE:
case SIOCBONDRELEASE:
case SIOCBONDSETHWADDR:
- case SIOCBONDSLAVEINFOQUERY:
- case SIOCBONDINFOQUERY:
case SIOCBONDCHANGEACTIVE:
case SIOCBRADDIF:
case SIOCBRDELIF:
if (!capable(CAP_NET_ADMIN))
return -EPERM;
+ /* fall through */
+ case SIOCBONDSLAVEINFOQUERY:
+ case SIOCBONDINFOQUERY:
dev_load(ifr.ifr_name);
rtnl_lock();
ret = dev_ifsioc(&ifr, cmd);
diff -r a3f4357a9e16 -r 47a2eb32002a linux-2.6-xen-sparse/net/core/skbuff.c
--- a/linux-2.6-xen-sparse/net/core/skbuff.c Fri Feb 3 14:24:52 2006
+++ b/linux-2.6-xen-sparse/net/core/skbuff.c Fri Feb 3 17:49:27 2006
@@ -136,13 +136,15 @@
struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
int fclone)
{
+ kmem_cache_t *cache;
struct skb_shared_info *shinfo;
struct sk_buff *skb;
u8 *data;

+ cache = fclone ? skbuff_fclone_cache : skbuff_head_cache;
+
/* Get the HEAD */
- skb = kmem_cache_alloc(fclone ? skbuff_fclone_cache : skbuff_head_cache,
- gfp_mask & ~__GFP_DMA);
+ skb = kmem_cache_alloc(cache, gfp_mask & ~__GFP_DMA);
if (!skb)
goto out;

@@ -181,7 +183,7 @@
out:
return skb;
nodata:
- kmem_cache_free(fclone ? skbuff_fclone_cache : skbuff_head_cache, skb);
+ kmem_cache_free(cache, skb);
skb = NULL;
goto out;
}
@@ -206,13 +208,15 @@
gfp_t gfp_mask,
int fclone)
{
+ kmem_cache_t *cache;
struct skb_shared_info *shinfo;
struct sk_buff *skb;
u8 *data;

+ cache = fclone ? skbuff_fclone_cache : skbuff_head_cache;
+
/* Get the HEAD */
- skb = kmem_cache_alloc(fclone ? skbuff_fclone_cache : skbuff_head_cache,
- gfp_mask & ~__GFP_DMA);
+ skb = kmem_cache_alloc(cache, gfp_mask & ~__GFP_DMA);
if (!skb)
goto out;

@@ -251,7 +255,7 @@
out:
return skb;
nodata:
- kmem_cache_free(fclone ? skbuff_fclone_cache : skbuff_head_cache, skb);
+ kmem_cache_free(cache, skb);
skb = NULL;
goto out;
}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog