ia64/xen-unstable

changeset 16432:f28d36628de8

[Mini-OS] Fix stack closures

So as to make backtracing tools happy, correctly close x86 stacks for
new threads as well as on callback in the x86_32 case since there is
no unwind marker.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Nov 23 16:22:36 2007 +0000 (2007-11-23)
parents 75cb82d277be
children 2215f4f6f0f2
files extras/mini-os/arch/x86/x86_32.S extras/mini-os/arch/x86/x86_64.S
line diff
     1.1 --- a/extras/mini-os/arch/x86/x86_32.S	Fri Nov 23 16:22:13 2007 +0000
     1.2 +++ b/extras/mini-os/arch/x86/x86_32.S	Fri Nov 23 16:22:36 2007 +0000
     1.3 @@ -126,6 +126,7 @@ ENTRY(hypervisor_callback)
     1.4          cmpl $ecrit,%eax
     1.5          jb   critical_region_fixup
     1.6  11:     push %esp
     1.7 +        xorl %ebp,%ebp
     1.8          call do_hypervisor_callback
     1.9          add  $4,%esp
    1.10          movl HYPERVISOR_shared_info,%esi
    1.11 @@ -281,6 +282,8 @@ ENTRY(spurious_interrupt_bug)
    1.12  ENTRY(thread_starter)
    1.13      popl %eax
    1.14      popl %ebx
    1.15 +    pushl $0
    1.16 +    xorl %ebp,%ebp
    1.17      pushl %eax
    1.18      call *%ebx
    1.19      call exit_thread 
     2.1 --- a/extras/mini-os/arch/x86/x86_64.S	Fri Nov 23 16:22:13 2007 +0000
     2.2 +++ b/extras/mini-os/arch/x86/x86_64.S	Fri Nov 23 16:22:36 2007 +0000
     2.3 @@ -380,6 +380,8 @@ ENTRY(page_fault)
     2.4  ENTRY(thread_starter)
     2.5          popq %rdi
     2.6          popq %rbx
     2.7 +        pushq $0
     2.8 +        xorq %rbp,%rbp
     2.9          call *%rbx
    2.10          call exit_thread 
    2.11