aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--buildconfigs/mk.linux-2.6-xen6
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/Makefile2
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile2
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c6
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c4
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c19
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c1
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c4
-rw-r--r--linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c4
-rw-r--r--linux-2.6-xen-sparse/drivers/char/tty_io.c2
-rw-r--r--linux-2.6-xen-sparse/include/asm-i386/apic.h2
-rw-r--r--linux-2.6-xen-sparse/include/linux/gfp.h4
-rw-r--r--linux-2.6-xen-sparse/mm/page_alloc.c17
-rw-r--r--patches/linux-2.6.16-rc6/i386-mach-io-check-nmi.patch (renamed from patches/linux-2.6.16-rc5/i386-mach-io-check-nmi.patch)12
-rw-r--r--patches/linux-2.6.16-rc6/net-csum.patch (renamed from patches/linux-2.6.16-rc5/net-csum.patch)12
-rw-r--r--patches/linux-2.6.16-rc6/pmd-shared.patch (renamed from patches/linux-2.6.16-rc5/pmd-shared.patch)24
-rw-r--r--patches/linux-2.6.16-rc6/smp-alts.patch (renamed from patches/linux-2.6.16-rc5/smp-alts.patch)72
17 files changed, 108 insertions, 85 deletions
diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen
index 19890dbc71..803ea85cc3 100644
--- a/buildconfigs/mk.linux-2.6-xen
+++ b/buildconfigs/mk.linux-2.6-xen
@@ -2,8 +2,8 @@
OS = linux
LINUX_SERIES = 2.6
-LINUX_VER = 2.6.16-rc5
-LINUX_SRCS = linux-2.6.15.tar.bz2 patch-2.6.16-rc5.bz2
+LINUX_VER = 2.6.16-rc6
+LINUX_SRCS = linux-2.6.15.tar.bz2 patch-2.6.16-rc6.bz2
LINUX_PDIR = linux-$(LINUX_VER)
EXTRAVERSION ?= xen
@@ -34,7 +34,7 @@ pristine-$(LINUX_PDIR)/.valid-srcs: $(LINUX_SRCS)
touch $(@D)/.hgskip
touch $@
-pristine-linux-%.16-rc5/.valid-pristine: pristine-$(LINUX_PDIR)/.valid-srcs
+pristine-linux-%.16-rc6/.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 --git a/linux-2.6-xen-sparse/arch/i386/kernel/Makefile b/linux-2.6-xen-sparse/arch/i386/kernel/Makefile
index 883daadab3..5661a9bb68 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/Makefile
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/Makefile
@@ -11,7 +11,7 @@ obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o \
obj-y += cpu/
obj-y += timers/
-obj-$(CONFIG_ACPI) += acpi/
+obj-y += acpi/
obj-$(CONFIG_X86_BIOS_REBOOT) += reboot.o
obj-$(CONFIG_MCA) += mca.o
obj-$(CONFIG_X86_MSR) += msr.o
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
index fdd8ee749c..fa783e6f97 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
@@ -1,4 +1,4 @@
-obj-y := boot.o
+obj-$(CONFIG_ACPI) += boot.o
obj-$(CONFIG_X86_IO_APIC) += earlyquirk.o
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
index 38070cc01b..96e452577d 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
@@ -44,6 +44,9 @@ extern void __init clustered_apic_check(void);
extern int gsi_irq_sharing(int gsi);
#include <asm/proto.h>
+static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) { return 0; }
+
+
#else /* X86 */
#ifdef CONFIG_X86_LOCAL_APIC
@@ -1111,9 +1114,6 @@ int __init acpi_boot_table_init(void)
disable_acpi();
return error;
}
-#ifdef __i386__
- check_acpi_pci();
-#endif
acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c
index ab81872c7b..f24b833567 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c
@@ -283,10 +283,10 @@ void __devinit generic_identify(struct cpuinfo_x86 * c)
c->x86_capability[4] = excap;
c->x86 = (tfms >> 8) & 15;
c->x86_model = (tfms >> 4) & 15;
- if (c->x86 == 0xf) {
+ if (c->x86 == 0xf)
c->x86 += (tfms >> 20) & 0xff;
+ if (c->x86 >= 0x6)
c->x86_model += ((tfms >> 16) & 0xF) << 4;
- }
c->x86_mask = tfms & 15;
} else {
/* Have CPUID level 0 only - unheard of */
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c
index 53704a58d7..47edb0524b 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c
@@ -93,6 +93,8 @@ static struct { int pin, apic; } ioapic_i8259 = { -1, -1 };
static DEFINE_SPINLOCK(ioapic_lock);
+int timer_over_8254 __initdata = 1;
+
/*
* Is the SiS APIC rmw bug present ?
* -1 = don't know, 0 = no, 1 = yes
@@ -2329,7 +2331,8 @@ static inline void check_timer(void)
apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT);
init_8259A(1);
timer_ack = 1;
- enable_8259A_irq(0);
+ if (timer_over_8254 > 0)
+ enable_8259A_irq(0);
pin1 = find_isa_irq_pin(0, mp_INT);
apic1 = find_isa_irq_apic(0, mp_INT);
@@ -2459,6 +2462,20 @@ void __init setup_IO_APIC(void)
print_IO_APIC();
}
+static int __init setup_disable_8254_timer(char *s)
+{
+ timer_over_8254 = -1;
+ return 1;
+}
+static int __init setup_enable_8254_timer(char *s)
+{
+ timer_over_8254 = 2;
+ return 1;
+}
+
+__setup("disable_8254_timer", setup_disable_8254_timer);
+__setup("enable_8254_timer", setup_enable_8254_timer);
+
/*
* Called after all the initialization is done. If we didnt find any
* APIC bugs then we can allow the modify fast path
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c
index a0e1487526..07db5ccc54 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c
@@ -25,6 +25,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sched.h>
+#include <linux/cpumask.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
index adead3a625..6e3a87ae5b 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
@@ -1819,6 +1819,10 @@ void __init setup_arch(char **cmdline_p)
op.u.set_iopl.iopl = 1;
HYPERVISOR_physdev_op(&op);
+#ifdef CONFIG_X86_IO_APIC
+ check_acpi_pci(); /* Checks more than just ACPI actually */
+#endif
+
#ifdef CONFIG_ACPI
if (!(xen_start_info->flags & SIF_INITDOMAIN)) {
printk(KERN_INFO "ACPI in unprivileged domain disabled\n");
diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
index 809a633932..134b51ef25 100644
--- a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
@@ -840,9 +840,9 @@ static int timer_resume(struct sys_device *dev)
write_seqlock_irqsave(&xtime_lock, flags);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
- write_sequnlock_irqrestore(&xtime_lock, flags);
- jiffies += sleep_length;
+ jiffies_64 += sleep_length;
wall_jiffies += sleep_length;
+ write_sequnlock_irqrestore(&xtime_lock, flags);
if (last_timer->resume)
last_timer->resume();
cur_timer = last_timer;
diff --git a/linux-2.6-xen-sparse/drivers/char/tty_io.c b/linux-2.6-xen-sparse/drivers/char/tty_io.c
index 883ca869b3..752834fd13 100644
--- a/linux-2.6-xen-sparse/drivers/char/tty_io.c
+++ b/linux-2.6-xen-sparse/drivers/char/tty_io.c
@@ -305,7 +305,7 @@ static struct tty_buffer *tty_buffer_find(struct tty_struct *tty, size_t size)
t->commit = 0;
t->read = 0;
/* DEBUG ONLY */
- memset(t->data, '*', size);
+/* memset(t->data, '*', size); */
/* printk("Flip recycle %p\n", t); */
return t;
}
diff --git a/linux-2.6-xen-sparse/include/asm-i386/apic.h b/linux-2.6-xen-sparse/include/asm-i386/apic.h
index ac93e81487..1fb4d7115e 100644
--- a/linux-2.6-xen-sparse/include/asm-i386/apic.h
+++ b/linux-2.6-xen-sparse/include/asm-i386/apic.h
@@ -139,6 +139,8 @@ void switch_ipi_to_APIC_timer(void *cpumask);
#define ARCH_APICTIMER_STOPS_ON_C3 1
#endif
+extern int timer_over_8254;
+
#else /* !CONFIG_X86_LOCAL_APIC */
static inline void lapic_shutdown(void) { }
diff --git a/linux-2.6-xen-sparse/include/linux/gfp.h b/linux-2.6-xen-sparse/include/linux/gfp.h
index ef4d51e55e..cba61ae4f5 100644
--- a/linux-2.6-xen-sparse/include/linux/gfp.h
+++ b/linux-2.6-xen-sparse/include/linux/gfp.h
@@ -161,9 +161,9 @@ extern void FASTCALL(free_cold_page(struct page *page));
void page_alloc_init(void);
#ifdef CONFIG_NUMA
-void drain_remote_pages(void);
+void drain_node_pages(int node);
#else
-static inline void drain_remote_pages(void) { };
+static inline void drain_node_pages(int node) { };
#endif
#endif /* __LINUX_GFP_H */
diff --git a/linux-2.6-xen-sparse/mm/page_alloc.c b/linux-2.6-xen-sparse/mm/page_alloc.c
index 141a189cb7..3ef836209d 100644
--- a/linux-2.6-xen-sparse/mm/page_alloc.c
+++ b/linux-2.6-xen-sparse/mm/page_alloc.c
@@ -591,21 +591,20 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
}
#ifdef CONFIG_NUMA
-/* Called from the slab reaper to drain remote pagesets */
-void drain_remote_pages(void)
+/*
+ * Called from the slab reaper to drain pagesets on a particular node that
+ * belong to the currently executing processor.
+ */
+void drain_node_pages(int nodeid)
{
- struct zone *zone;
- int i;
+ int i, z;
unsigned long flags;
local_irq_save(flags);
- for_each_zone(zone) {
+ for (z = 0; z < MAX_NR_ZONES; z++) {
+ struct zone *zone = NODE_DATA(nodeid)->node_zones + z;
struct per_cpu_pageset *pset;
- /* Do not drain local pagesets */
- if (zone->zone_pgdat->node_id == numa_node_id())
- continue;
-
pset = zone_pcp(zone, smp_processor_id());
for (i = 0; i < ARRAY_SIZE(pset->pcp); i++) {
struct per_cpu_pages *pcp;
diff --git a/patches/linux-2.6.16-rc5/i386-mach-io-check-nmi.patch b/patches/linux-2.6.16-rc6/i386-mach-io-check-nmi.patch
index ebcd35207d..0a8eb60bb0 100644
--- a/patches/linux-2.6.16-rc5/i386-mach-io-check-nmi.patch
+++ b/patches/linux-2.6.16-rc6/i386-mach-io-check-nmi.patch
@@ -1,6 +1,6 @@
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/traps.c ./arch/i386/kernel/traps.c
---- ../pristine-linux-2.6.16-rc5/arch/i386/kernel/traps.c 2006-02-27 15:46:58.000000000 +0000
-+++ ./arch/i386/kernel/traps.c 2006-02-27 15:55:23.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/kernel/traps.c ./arch/i386/kernel/traps.c
+--- ../pristine-linux-2.6.16-rc6/arch/i386/kernel/traps.c 2006-03-17 22:59:01.000000000 +0000
++++ ./arch/i386/kernel/traps.c 2006-03-17 23:04:16.000000000 +0000
@@ -567,18 +567,11 @@ static void mem_parity_error(unsigned ch
static void io_check_error(unsigned char reason, struct pt_regs * regs)
@@ -21,9 +21,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/traps.c ./arch/i386/ker
}
static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/mach-default/mach_traps.h ./include/asm-i386/mach-default/mach_traps.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/mach-default/mach_traps.h 2006-01-03 03:21:10.000000000 +0000
-+++ ./include/asm-i386/mach-default/mach_traps.h 2006-02-27 15:55:23.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/mach-default/mach_traps.h ./include/asm-i386/mach-default/mach_traps.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/mach-default/mach_traps.h 2006-01-03 03:21:10.000000000 +0000
++++ ./include/asm-i386/mach-default/mach_traps.h 2006-03-17 23:04:16.000000000 +0000
@@ -15,6 +15,18 @@ static inline void clear_mem_error(unsig
outb(reason, 0x61);
}
diff --git a/patches/linux-2.6.16-rc5/net-csum.patch b/patches/linux-2.6.16-rc6/net-csum.patch
index ef5e9585f7..19f9149457 100644
--- a/patches/linux-2.6.16-rc5/net-csum.patch
+++ b/patches/linux-2.6.16-rc6/net-csum.patch
@@ -1,6 +1,6 @@
-diff -pruN ../pristine-linux-2.6.16-rc5/net/ipv4/netfilter/ip_nat_proto_tcp.c ./net/ipv4/netfilter/ip_nat_proto_tcp.c
---- ../pristine-linux-2.6.16-rc5/net/ipv4/netfilter/ip_nat_proto_tcp.c 2006-02-27 15:47:38.000000000 +0000
-+++ ./net/ipv4/netfilter/ip_nat_proto_tcp.c 2006-02-27 15:55:25.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/net/ipv4/netfilter/ip_nat_proto_tcp.c ./net/ipv4/netfilter/ip_nat_proto_tcp.c
+--- ../pristine-linux-2.6.16-rc6/net/ipv4/netfilter/ip_nat_proto_tcp.c 2006-03-17 22:59:16.000000000 +0000
++++ ./net/ipv4/netfilter/ip_nat_proto_tcp.c 2006-03-17 23:04:19.000000000 +0000
@@ -129,10 +129,14 @@ tcp_manip_pkt(struct sk_buff **pskb,
if (hdrsize < sizeof(*hdr))
return 1;
@@ -17,9 +17,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/net/ipv4/netfilter/ip_nat_proto_tcp.c ./
return 1;
}
-diff -pruN ../pristine-linux-2.6.16-rc5/net/ipv4/netfilter/ip_nat_proto_udp.c ./net/ipv4/netfilter/ip_nat_proto_udp.c
---- ../pristine-linux-2.6.16-rc5/net/ipv4/netfilter/ip_nat_proto_udp.c 2006-02-27 15:47:38.000000000 +0000
-+++ ./net/ipv4/netfilter/ip_nat_proto_udp.c 2006-02-27 15:55:25.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/net/ipv4/netfilter/ip_nat_proto_udp.c ./net/ipv4/netfilter/ip_nat_proto_udp.c
+--- ../pristine-linux-2.6.16-rc6/net/ipv4/netfilter/ip_nat_proto_udp.c 2006-03-17 22:59:16.000000000 +0000
++++ ./net/ipv4/netfilter/ip_nat_proto_udp.c 2006-03-17 23:04:19.000000000 +0000
@@ -113,11 +113,16 @@ udp_manip_pkt(struct sk_buff **pskb,
newport = tuple->dst.u.udp.port;
portptr = &hdr->dest;
diff --git a/patches/linux-2.6.16-rc5/pmd-shared.patch b/patches/linux-2.6.16-rc6/pmd-shared.patch
index 38c8f9e279..d190356a97 100644
--- a/patches/linux-2.6.16-rc5/pmd-shared.patch
+++ b/patches/linux-2.6.16-rc6/pmd-shared.patch
@@ -1,6 +1,6 @@
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/mm/pageattr.c ./arch/i386/mm/pageattr.c
---- ../pristine-linux-2.6.16-rc5/arch/i386/mm/pageattr.c 2006-02-27 15:46:58.000000000 +0000
-+++ ./arch/i386/mm/pageattr.c 2006-02-27 15:55:31.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/mm/pageattr.c ./arch/i386/mm/pageattr.c
+--- ../pristine-linux-2.6.16-rc6/arch/i386/mm/pageattr.c 2006-03-17 22:59:01.000000000 +0000
++++ ./arch/i386/mm/pageattr.c 2006-03-17 23:04:21.000000000 +0000
@@ -78,7 +78,7 @@ static void set_pmd_pte(pte_t *kpte, uns
unsigned long flags;
@@ -10,9 +10,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/mm/pageattr.c ./arch/i386/mm/p
return;
spin_lock_irqsave(&pgd_lock, flags);
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/mm/pgtable.c ./arch/i386/mm/pgtable.c
---- ../pristine-linux-2.6.16-rc5/arch/i386/mm/pgtable.c 2006-01-03 03:21:10.000000000 +0000
-+++ ./arch/i386/mm/pgtable.c 2006-02-27 15:55:31.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/mm/pgtable.c ./arch/i386/mm/pgtable.c
+--- ../pristine-linux-2.6.16-rc6/arch/i386/mm/pgtable.c 2006-01-03 03:21:10.000000000 +0000
++++ ./arch/i386/mm/pgtable.c 2006-03-17 23:04:21.000000000 +0000
@@ -215,9 +215,10 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
spin_lock_irqsave(&pgd_lock, flags);
}
@@ -85,9 +85,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/mm/pgtable.c ./arch/i386/mm/pg
/* in the non-PAE case, free_pgtables() clears user pgd entries */
kmem_cache_free(pgd_cache, pgd);
}
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/pgtable-2level-defs.h ./include/asm-i386/pgtable-2level-defs.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/pgtable-2level-defs.h 2006-01-03 03:21:10.000000000 +0000
-+++ ./include/asm-i386/pgtable-2level-defs.h 2006-02-27 15:55:31.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/pgtable-2level-defs.h ./include/asm-i386/pgtable-2level-defs.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/pgtable-2level-defs.h 2006-01-03 03:21:10.000000000 +0000
++++ ./include/asm-i386/pgtable-2level-defs.h 2006-03-17 23:04:21.000000000 +0000
@@ -1,6 +1,8 @@
#ifndef _I386_PGTABLE_2LEVEL_DEFS_H
#define _I386_PGTABLE_2LEVEL_DEFS_H
@@ -97,9 +97,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/pgtable-2level-defs.h .
/*
* traditional i386 two-level paging structure:
*/
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/pgtable-3level-defs.h ./include/asm-i386/pgtable-3level-defs.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/pgtable-3level-defs.h 2006-01-03 03:21:10.000000000 +0000
-+++ ./include/asm-i386/pgtable-3level-defs.h 2006-02-27 15:55:31.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/pgtable-3level-defs.h ./include/asm-i386/pgtable-3level-defs.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/pgtable-3level-defs.h 2006-01-03 03:21:10.000000000 +0000
++++ ./include/asm-i386/pgtable-3level-defs.h 2006-03-17 23:04:21.000000000 +0000
@@ -1,6 +1,8 @@
#ifndef _I386_PGTABLE_3LEVEL_DEFS_H
#define _I386_PGTABLE_3LEVEL_DEFS_H
diff --git a/patches/linux-2.6.16-rc5/smp-alts.patch b/patches/linux-2.6.16-rc6/smp-alts.patch
index 12f18ebd61..01261e6be0 100644
--- a/patches/linux-2.6.16-rc5/smp-alts.patch
+++ b/patches/linux-2.6.16-rc6/smp-alts.patch
@@ -1,6 +1,6 @@
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/Kconfig ./arch/i386/Kconfig
---- ../pristine-linux-2.6.16-rc5/arch/i386/Kconfig 2006-02-27 15:46:58.000000000 +0000
-+++ ./arch/i386/Kconfig 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/Kconfig ./arch/i386/Kconfig
+--- ../pristine-linux-2.6.16-rc6/arch/i386/Kconfig 2006-03-17 22:59:01.000000000 +0000
++++ ./arch/i386/Kconfig 2006-03-17 23:04:23.000000000 +0000
@@ -202,6 +202,19 @@ config SMP
If you don't know what to do here, say N.
@@ -21,9 +21,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/Kconfig ./arch/i386/Kconfig
config NR_CPUS
int "Maximum number of CPUs (2-255)"
range 2 255
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/Makefile ./arch/i386/kernel/Makefile
---- ../pristine-linux-2.6.16-rc5/arch/i386/kernel/Makefile 2006-02-27 15:46:58.000000000 +0000
-+++ ./arch/i386/kernel/Makefile 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/kernel/Makefile ./arch/i386/kernel/Makefile
+--- ../pristine-linux-2.6.16-rc6/arch/i386/kernel/Makefile 2006-03-17 22:59:01.000000000 +0000
++++ ./arch/i386/kernel/Makefile 2006-03-17 23:04:23.000000000 +0000
@@ -37,6 +37,7 @@ obj-$(CONFIG_EFI) += efi.o efi_stub.o
obj-$(CONFIG_DOUBLEFAULT) += doublefault.o
obj-$(CONFIG_VM86) += vm86.o
@@ -32,9 +32,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/Makefile ./arch/i386/ke
EXTRA_AFLAGS := -traditional
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpalts.c ./arch/i386/kernel/smpalts.c
---- ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpalts.c 1970-01-01 01:00:00.000000000 +0100
-+++ ./arch/i386/kernel/smpalts.c 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/kernel/smpalts.c ./arch/i386/kernel/smpalts.c
+--- ../pristine-linux-2.6.16-rc6/arch/i386/kernel/smpalts.c 1970-01-01 01:00:00.000000000 +0100
++++ ./arch/i386/kernel/smpalts.c 2006-03-17 23:04:23.000000000 +0000
@@ -0,0 +1,85 @@
+#include <linux/kernel.h>
+#include <asm/system.h>
@@ -121,9 +121,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpalts.c ./arch/i386/k
+ asm volatile ("jmp 1f\n1:");
+ mb();
+}
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpboot.c ./arch/i386/kernel/smpboot.c
---- ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpboot.c 2006-02-27 15:46:58.000000000 +0000
-+++ ./arch/i386/kernel/smpboot.c 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/kernel/smpboot.c ./arch/i386/kernel/smpboot.c
+--- ../pristine-linux-2.6.16-rc6/arch/i386/kernel/smpboot.c 2006-03-17 22:59:01.000000000 +0000
++++ ./arch/i386/kernel/smpboot.c 2006-03-17 23:04:23.000000000 +0000
@@ -1208,6 +1208,11 @@ static void __init smp_boot_cpus(unsigne
if (max_cpus <= cpucount+1)
continue;
@@ -148,9 +148,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/smpboot.c ./arch/i386/k
local_irq_enable();
per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
/* Unleash the CPU! */
-diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/vmlinux.lds.S ./arch/i386/kernel/vmlinux.lds.S
---- ../pristine-linux-2.6.16-rc5/arch/i386/kernel/vmlinux.lds.S 2006-01-03 03:21:10.000000000 +0000
-+++ ./arch/i386/kernel/vmlinux.lds.S 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/arch/i386/kernel/vmlinux.lds.S ./arch/i386/kernel/vmlinux.lds.S
+--- ../pristine-linux-2.6.16-rc6/arch/i386/kernel/vmlinux.lds.S 2006-01-03 03:21:10.000000000 +0000
++++ ./arch/i386/kernel/vmlinux.lds.S 2006-03-17 23:04:23.000000000 +0000
@@ -34,6 +34,13 @@ SECTIONS
__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { *(__ex_table) }
__stop___ex_table = .;
@@ -165,9 +165,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/arch/i386/kernel/vmlinux.lds.S ./arch/i3
RODATA
/* writeable */
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/atomic.h ./include/asm-i386/atomic.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/atomic.h 2006-02-27 15:47:25.000000000 +0000
-+++ ./include/asm-i386/atomic.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/atomic.h ./include/asm-i386/atomic.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/atomic.h 2006-03-17 22:59:05.000000000 +0000
++++ ./include/asm-i386/atomic.h 2006-03-17 23:04:23.000000000 +0000
@@ -4,18 +4,13 @@
#include <linux/config.h>
#include <linux/compiler.h>
@@ -188,9 +188,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/atomic.h ./include/asm-
/*
* Make sure gcc doesn't try to be clever and move things around
* on us. We need to use _exactly_ the address the user gave us,
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/bitops.h ./include/asm-i386/bitops.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/bitops.h 2006-02-27 15:47:25.000000000 +0000
-+++ ./include/asm-i386/bitops.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/bitops.h ./include/asm-i386/bitops.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/bitops.h 2006-03-17 22:59:05.000000000 +0000
++++ ./include/asm-i386/bitops.h 2006-03-17 23:04:23.000000000 +0000
@@ -7,6 +7,7 @@
#include <linux/config.h>
@@ -266,9 +266,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/bitops.h ./include/asm-
"btcl %2,%1\n\tsbbl %0,%0"
:"=r" (oldbit),"+m" (ADDR)
:"Ir" (nr) : "memory");
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/futex.h ./include/asm-i386/futex.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/futex.h 2006-02-27 15:47:25.000000000 +0000
-+++ ./include/asm-i386/futex.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/futex.h ./include/asm-i386/futex.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/futex.h 2006-03-17 22:59:05.000000000 +0000
++++ ./include/asm-i386/futex.h 2006-03-17 23:04:23.000000000 +0000
@@ -28,7 +28,7 @@
"1: movl %2, %0\n\
movl %0, %3\n" \
@@ -287,9 +287,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/futex.h ./include/asm-i
oldval, uaddr, oparg);
break;
case FUTEX_OP_OR:
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/rwsem.h ./include/asm-i386/rwsem.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/rwsem.h 2006-01-03 03:21:10.000000000 +0000
-+++ ./include/asm-i386/rwsem.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/rwsem.h ./include/asm-i386/rwsem.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/rwsem.h 2006-01-03 03:21:10.000000000 +0000
++++ ./include/asm-i386/rwsem.h 2006-03-17 23:04:23.000000000 +0000
@@ -40,6 +40,7 @@
#include <linux/list.h>
@@ -370,9 +370,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/rwsem.h ./include/asm-i
: "+r"(tmp), "=m"(sem->count)
: "r"(sem), "m"(sem->count)
: "memory");
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/smp_alt.h ./include/asm-i386/smp_alt.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/smp_alt.h 1970-01-01 01:00:00.000000000 +0100
-+++ ./include/asm-i386/smp_alt.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/smp_alt.h ./include/asm-i386/smp_alt.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/smp_alt.h 1970-01-01 01:00:00.000000000 +0100
++++ ./include/asm-i386/smp_alt.h 2006-03-17 23:04:23.000000000 +0000
@@ -0,0 +1,32 @@
+#ifndef __ASM_SMP_ALT_H__
+#define __ASM_SMP_ALT_H__
@@ -406,9 +406,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/smp_alt.h ./include/asm
+#endif
+
+#endif /* __ASM_SMP_ALT_H__ */
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/spinlock.h ./include/asm-i386/spinlock.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/spinlock.h 2006-01-03 03:21:10.000000000 +0000
-+++ ./include/asm-i386/spinlock.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/spinlock.h ./include/asm-i386/spinlock.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/spinlock.h 2006-01-03 03:21:10.000000000 +0000
++++ ./include/asm-i386/spinlock.h 2006-03-17 23:04:23.000000000 +0000
@@ -6,6 +6,7 @@
#include <asm/page.h>
#include <linux/config.h>
@@ -488,9 +488,9 @@ diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/spinlock.h ./include/as
: "=m" (rw->lock) : : "memory");
}
-diff -pruN ../pristine-linux-2.6.16-rc5/include/asm-i386/system.h ./include/asm-i386/system.h
---- ../pristine-linux-2.6.16-rc5/include/asm-i386/system.h 2006-02-27 15:47:25.000000000 +0000
-+++ ./include/asm-i386/system.h 2006-02-27 15:55:34.000000000 +0000
+diff -pruN ../pristine-linux-2.6.16-rc6/include/asm-i386/system.h ./include/asm-i386/system.h
+--- ../pristine-linux-2.6.16-rc6/include/asm-i386/system.h 2006-03-17 22:59:05.000000000 +0000
++++ ./include/asm-i386/system.h 2006-03-17 23:04:23.000000000 +0000
@@ -5,7 +5,7 @@
#include <linux/kernel.h>
#include <asm/segment.h>