[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] merge
# HG changeset patch # User Ian.Campbell@xxxxxxxxxxxxx # Node ID dbe5427f3863de5a1f8b71e534d38de21933dc38 # Parent 1c70b9d8173196c83ebf5d1567ce3b7f4ad9d749 # Parent cc996a91af716bd7a8cf08d79a90b96c200478f3 merge diff -r 1c70b9d81731 -r dbe5427f3863 linux-2.6-xen-sparse/arch/xen/i386/kernel/entry.S --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/entry.S Wed Jan 11 16:26:04 2006 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/entry.S Wed Jan 11 18:22:24 2006 @@ -76,7 +76,7 @@ DF_MASK = 0x00000400 NT_MASK = 0x00004000 VM_MASK = 0x00020000 -/* pseudo-eflags */ +/* Pseudo-eflags. */ NMI_MASK = 0x80000000 /* Offsets into shared_info_t. */ diff -r 1c70b9d81731 -r dbe5427f3863 xen/arch/x86/x86_32/traps.c --- a/xen/arch/x86/x86_32/traps.c Wed Jan 11 16:26:04 2006 +++ b/xen/arch/x86/x86_32/traps.c Wed Jan 11 18:22:24 2006 @@ -161,42 +161,50 @@ { struct cpu_user_regs *regs = guest_cpu_user_regs(); - /* Restore EAX (clobbered by hypercall) */ - if (copy_from_user(®s->eax, (void __user *)regs->esp, 4)) + /* Restore EAX (clobbered by hypercall). */ + if ( copy_from_user(®s->eax, (void __user *)regs->esp, 4) ) domain_crash_synchronous(); regs->esp += 4; - /* Restore EFLAGS, CS and EIP */ - if (copy_from_user(®s->eip, (void __user *)regs->esp, 12)) + /* Restore EFLAGS, CS and EIP. */ + if ( copy_from_user(®s->eip, (void __user *)regs->esp, 12) ) domain_crash_synchronous(); - if (VM86_MODE(regs)) { - /* return to VM86 mode: restore ESP,SS,ES,DS,FS and GS */ + if ( VM86_MODE(regs) ) + { + /* Return to VM86 mode: restore ESP,SS,ES,DS,FS and GS. */ if(copy_from_user(®s->esp, (void __user *)(regs->esp+12), 24)) domain_crash_synchronous(); - } else if (RING_0(regs)) { + } + else if ( RING_0(regs) ) + { domain_crash_synchronous(); - } else if (RING_1(regs)) { - /* return to ring 1: pop EFLAGS,CS and EIP */ + } + else if ( RING_1(regs) ) { + /* Return to ring 1: pop EFLAGS,CS and EIP. */ regs->esp += 12; - } else { - /* return to ring 2/3: restore ESP and SS */ - if(copy_from_user(®s->esp, (void __user *)(regs->esp+12), 8)) + } + else + { + /* Return to ring 2/3: restore ESP and SS. */ + if ( copy_from_user(®s->esp, (void __user *)(regs->esp+12), 8) ) domain_crash_synchronous(); } - /* Fixup EFLAGS */ + /* Fixup EFLAGS. */ regs->eflags &= ~X86_EFLAGS_IOPL; regs->eflags |= X86_EFLAGS_IF; - /* No longer in NMI context */ + /* No longer in NMI context. */ clear_bit(_VCPUF_nmi_masked, ¤t->vcpu_flags); - /* Restore upcall mask from saved value */ + /* Restore upcall mask from saved value. */ current->vcpu_info->evtchn_upcall_mask = regs->saved_upcall_mask; - /* the hypercall exit path will overwrite eax - * with this return value */ + /* + * The hypercall exit path will overwrite EAX with this return + * value. + */ return regs->eax; } diff -r 1c70b9d81731 -r dbe5427f3863 xen/arch/x86/x86_64/traps.c --- a/xen/arch/x86/x86_64/traps.c Wed Jan 11 16:26:04 2006 +++ b/xen/arch/x86/x86_64/traps.c Wed Jan 11 18:22:24 2006 @@ -118,16 +118,16 @@ long do_iret(void) { - struct cpu_user_regs *regs = guest_cpu_user_regs(); + struct cpu_user_regs *regs = guest_cpu_user_regs(); struct iret_context iret_saved; - struct vcpu *v = current; + struct vcpu *v = current; if ( unlikely(copy_from_user(&iret_saved, (void *)regs->rsp, sizeof(iret_saved))) || unlikely(pagetable_get_paddr(v->arch.guest_table_user) == 0) ) return -EFAULT; - /* returning to user mode */ - if ((iret_saved.cs & 0x03) == 3) + /* Returning to user mode. */ + if ( (iret_saved.cs & 0x03) == 3 ) toggle_guest_mode(v); regs->rip = iret_saved.rip; @@ -143,7 +143,7 @@ regs->rcx = iret_saved.rcx; } - /* No longer in NMI context */ + /* No longer in NMI context. */ clear_bit(_VCPUF_nmi_masked, ¤t->vcpu_flags); /* Saved %rax gets written back to regs->rax in entry.S. */ diff -r 1c70b9d81731 -r dbe5427f3863 xen/common/kernel.c --- a/xen/common/kernel.c Wed Jan 11 16:26:04 2006 +++ b/xen/common/kernel.c Wed Jan 11 18:22:24 2006 @@ -160,7 +160,6 @@ rc = -EINVAL; else current->nmi_addr = (unsigned long)arg; - printk("***** NMI handler at 0x%lx\n", current->nmi_addr); break; case XENNMI_unregister_callback: current->nmi_addr = 0; diff -r 1c70b9d81731 -r dbe5427f3863 xen/include/public/arch-x86_64.h --- a/xen/include/public/arch-x86_64.h Wed Jan 11 16:26:04 2006 +++ b/xen/include/public/arch-x86_64.h Wed Jan 11 18:22:24 2006 @@ -114,8 +114,10 @@ uint64_t rax, r11, rcx, flags, rip, cs, rflags, rsp, ss; /* Bottom of iret stack frame. */ }; -/* For compatibility with HYPERVISOR_switch_to_user which is the old - * name for HYPERVISOR_iret */ +/* + * For compatibility with HYPERVISOR_switch_to_user which is the old + * name for HYPERVISOR_iret. + */ struct switch_to_user { /* Top of stack (%rsp at point of hypercall). */ uint64_t rax, r11, rcx, flags, rip, cs, rflags, rsp, ss; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |