ia64/xen-unstable

changeset 4709:4aec39caa003

bitkeeper revision 1.1394 (42720a2fOm5fKtLAKdhxLrZKQl12gA)

Merge http://xen.bkbits.net:8080/xeno-unstable.bk
into gandalf.hpl.hp.com:/var/bk/xeno-unstable.bk
author xenbk@gandalf.hpl.hp.com
date Fri Apr 29 10:19:27 2005 +0000 (2005-04-29)
parents 65b28c74cec2 604df558b783
children 8f212349ae57
files .rootkeys xen/arch/x86/domain.c xen/arch/x86/x86_32/call_with_regs.S xen/include/asm-x86/debugger.h
line diff
     1.1 --- a/.rootkeys	Fri Apr 29 07:34:47 2005 +0000
     1.2 +++ b/.rootkeys	Fri Apr 29 10:19:27 2005 +0000
     1.3 @@ -1254,7 +1254,6 @@ 41c0c411ODt8uEmV-yUxpQLpqimE5Q xen/arch/
     1.4  41f97ef5139vN42cOYHfX_Ac8WOOjA xen/arch/x86/vmx_platform.c
     1.5  41c0c4128URE0dxcO15JME_MuKBPfg xen/arch/x86/vmx_vmcs.c
     1.6  419cbedeQDg8IrO3izo3o5rQNlo0kQ xen/arch/x86/x86_32/asm-offsets.c
     1.7 -4107c15e_NqNYew2EXroXz2mgTAMWQ xen/arch/x86/x86_32/call_with_regs.S
     1.8  3e32af9aRnYGl4GMOaDKp7JdfhOGhg xen/arch/x86/x86_32/domain_page.c
     1.9  3ddb79bcecupHj56ZbTa3B0FxDowMg xen/arch/x86/x86_32/entry.S
    1.10  3ddb79bcHwuCQDjBICDTSis52hWguw xen/arch/x86/x86_32/mm.c
     2.1 --- a/xen/arch/x86/domain.c	Fri Apr 29 07:34:47 2005 +0000
     2.2 +++ b/xen/arch/x86/domain.c	Fri Apr 29 10:19:27 2005 +0000
     2.3 @@ -69,7 +69,7 @@ static void default_idle(void)
     2.4          local_irq_enable();
     2.5  }
     2.6  
     2.7 -static __attribute_used__ void idle_loop(void)
     2.8 +void idle_loop(void)
     2.9  {
    2.10      int cpu = smp_processor_id();
    2.11      for ( ; ; )
    2.12 @@ -91,7 +91,7 @@ static void __startup_cpu_idle_loop(stru
    2.13  
    2.14      /* Start normal idle loop. */
    2.15      ed->arch.schedule_tail = continue_idle_task;
    2.16 -    reset_stack_and_jump(idle_loop);
    2.17 +    continue_idle_task(ed);
    2.18  }
    2.19  
    2.20  void startup_cpu_idle_loop(void)
     3.1 --- a/xen/arch/x86/x86_32/call_with_regs.S	Fri Apr 29 07:34:47 2005 +0000
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,36 +0,0 @@
     3.4 -.global call_with_registers
     3.5 -
     3.6 -#include <asm/asm-offsets.h>
     3.7 -
     3.8 -	// int call_with_registers(void (*f)(struct cpu_user_regs *r)) ->
     3.9 -	// build a cpu_user_regs structure, and then call f with that.
    3.10 -call_with_registers:
    3.11 -	pushf
    3.12 -	subl $UREGS_user_sizeof, %esp
    3.13 -	movl %ebx, UREGS_ebx(%esp)
    3.14 -	movl %ecx, UREGS_ecx(%esp)
    3.15 -	movl %edx, UREGS_edx(%esp)
    3.16 -	movl %esi, UREGS_esi(%esp)
    3.17 -	movl %edi, UREGS_edi(%esp)
    3.18 -	movl %ebp, UREGS_ebp(%esp)
    3.19 -	movl %eax, UREGS_eax(%esp)
    3.20 -	movw $0, UREGS_error_code(%esp)
    3.21 -	movw $0, UREGS_entry_vector(%esp)
    3.22 -	movl UREGS_user_sizeof+4(%esp), %eax
    3.23 -	movl %eax, UREGS_eip(%esp)
    3.24 -	movl %cs, UREGS_cs(%esp)
    3.25 -	movl UREGS_user_sizeof(%esp), %eax
    3.26 -	movl %eax, UREGS_eflags(%esp)
    3.27 -	movl %esp, UREGS_esp(%esp)
    3.28 -	addl $UREGS_user_sizeof+4, UREGS_esp(%esp)
    3.29 -	movl %ss, UREGS_ss(%esp)
    3.30 -	movl %es, UREGS_es(%esp)
    3.31 -	movl %ds, UREGS_ds(%esp)
    3.32 -	movl %fs, UREGS_fs(%esp)
    3.33 -	movl %gs, UREGS_gs(%esp)
    3.34 -
    3.35 -	movl UREGS_user_sizeof+8(%esp), %eax
    3.36 -	pushl %esp
    3.37 -	call *%eax
    3.38 -	add $UREGS_user_sizeof + 8, %esp
    3.39 -	ret
     4.1 --- a/xen/include/asm-x86/debugger.h	Fri Apr 29 07:34:47 2005 +0000
     4.2 +++ b/xen/include/asm-x86/debugger.h	Fri Apr 29 10:19:27 2005 +0000
     4.3 @@ -38,14 +38,13 @@
     4.4  #define DEBUGGER_trap_fatal(_v, _r) \
     4.5      if ( debugger_trap_fatal(_v, _r) ) return EXCRET_fault_fixed;
     4.6  
     4.7 -int call_with_registers(int (*f)(struct cpu_user_regs *r));
     4.8 -
     4.9  #if defined(CRASH_DEBUG)
    4.10  
    4.11  extern int __trap_to_cdb(struct cpu_user_regs *r);
    4.12  #define debugger_trap_entry(_v, _r) (0)
    4.13  #define debugger_trap_fatal(_v, _r) __trap_to_cdb(_r)
    4.14 -#define debugger_trap_immediate() call_with_registers(__trap_to_cdb)
    4.15 +/* Int3 is a trivial way to gather cpu_user_regs context. */
    4.16 +#define debugger_trap_immediate() __asm__ __volatile__ ( "int3" );
    4.17  
    4.18  #elif defined(DOMU_DEBUG)
    4.19