linux/debian/patches/features/all/xen/vserver-update.patch

102 lines
3.8 KiB
Diff

diff -ur source-amd64-xen/arch/i386/kernel/irq-xen.c source-amd64-xen-vserver-patch/arch/i386/kernel/irq-xen.c
--- source-amd64-xen/arch/i386/kernel/irq-xen.c 2006-12-15 18:44:42.000000000 +0100
+++ source-amd64-xen-vserver-patch/arch/i386/kernel/irq-xen.c 2006-12-15 18:45:43.000000000 +0100
@@ -81,7 +81,6 @@
}
}
#endif
-
#ifdef CONFIG_4KSTACKS
curctx = (union irq_ctx *) current_thread_info();
diff -ur source-amd64-xen/arch/i386/kernel/traps-xen.c source-amd64-xen-vserver-patch/arch/i386/kernel/traps-xen.c
--- source-amd64-xen/arch/i386/kernel/traps-xen.c 2006-12-15 18:44:42.000000000 +0100
+++ source-amd64-xen-vserver-patch/arch/i386/kernel/traps-xen.c 2006-12-15 18:45:43.000000000 +0100
@@ -53,6 +53,7 @@
#include <asm/kdebug.h>
#include <linux/module.h>
+#include <linux/vserver/debug.h>
#include "mach_traps.h"
@@ -310,8 +311,8 @@
regs->esi, regs->edi, regs->ebp, esp);
printk(KERN_EMERG "ds: %04x es: %04x ss: %04x\n",
regs->xds & 0xffff, regs->xes & 0xffff, ss);
- printk(KERN_EMERG "Process %.*s (pid: %d, ti=%p task=%p task.ti=%p)",
- TASK_COMM_LEN, current->comm, current->pid,
+ printk(KERN_EMERG "Process %.*s (pid: %d[#%u], ti=%p task=%p task.ti=%p)",
+ TASK_COMM_LEN, current->comm, current->pid, current->xid,
current_thread_info(), current, current->thread_info);
/*
* When in-kernel, we also print out the stack and code at the
@@ -393,6 +394,8 @@
oops_enter();
+ vxh_throw_oops();
+
if (die.lock_owner != raw_smp_processor_id()) {
console_verbose();
spin_lock_irqsave(&die.lock, flags);
@@ -429,9 +432,9 @@
if (nl)
printk("\n");
if (notify_die(DIE_OOPS, str, regs, err,
- current->thread.trap_no, SIGSEGV) !=
- NOTIFY_STOP) {
+ current->thread.trap_no, SIGSEGV) != NOTIFY_STOP) {
show_registers(regs);
+ vxh_dump_history();
/* Executive summary in case the oops scrolled away */
esp = (unsigned long) (&regs->esp);
savesegment(ss, ss);
diff -ur source-amd64-xen/arch/x86_64/ia32/ia32entry-xen.S source-amd64-xen-vserver-patch/arch/x86_64/ia32/ia32entry-xen.S
--- source-amd64-xen/arch/x86_64/ia32/ia32entry-xen.S 2006-12-15 18:44:42.000000000 +0100
+++ source-amd64-xen-vserver-patch/arch/x86_64/ia32/ia32entry-xen.S 2006-12-15 18:45:43.000000000 +0100
@@ -695,7 +695,7 @@
.quad sys_tgkill /* 270 */
.quad compat_sys_utimes
.quad sys32_fadvise64_64
- .quad quiet_ni_syscall /* sys_vserver */
+ .quad sys32_vserver
.quad sys_mbind
.quad compat_sys_get_mempolicy /* 275 */
.quad sys_set_mempolicy
diff -ur source-amd64-xen/arch/x86_64/ia32/syscall32-xen.c source-amd64-xen-vserver-patch/arch/x86_64/ia32/syscall32-xen.c
--- source-amd64-xen/arch/x86_64/ia32/syscall32-xen.c 2006-12-15 18:44:42.000000000 +0100
+++ source-amd64-xen-vserver-patch/arch/x86_64/ia32/syscall32-xen.c 2006-12-15 18:45:43.000000000 +0100
@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/stringify.h>
#include <linux/security.h>
+#include <linux/vs_memory.h>
#include <asm/proto.h>
#include <asm/tlbflush.h>
#include <asm/ia32_unistd.h>
@@ -75,7 +76,7 @@
kmem_cache_free(vm_area_cachep, vma);
return ret;
}
- mm->total_vm += npages;
+ vx_vmpages_add(mm, npages);
up_write(&mm->mmap_sem);
return 0;
}
diff -ur source-amd64-xen/arch/x86_64/kernel/traps-xen.c source-amd64-xen-vserver-patch/arch/x86_64/kernel/traps-xen.c
--- source-amd64-xen/arch/x86_64/kernel/traps-xen.c 2006-12-15 18:44:42.000000000 +0100
+++ source-amd64-xen-vserver-patch/arch/x86_64/kernel/traps-xen.c 2006-12-15 18:45:43.000000000 +0100
@@ -435,8 +435,9 @@
printk("CPU %d ", cpu);
__show_regs(regs);
- printk("Process %s (pid: %d, threadinfo %p, task %p)\n",
- cur->comm, cur->pid, task_thread_info(cur), cur);
+ printk("Process %s (pid: %d[#%u], threadinfo %p, task %p)\n",
+ cur->comm, cur->pid, cur->xid,
+ task_thread_info(cur), cur);
/*
* When in-kernel, we also print out the stack and code at the