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
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