diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-05-22 10:41:49 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-05-22 10:41:49 +0100 |
commit | 6055fb83ae7ea64597c98b32448571139dfbc6fa (patch) | |
tree | 7c436d125d0d1955c5696cc980baf8a661991a2d | |
parent | 5df6162403059fc2f5c37523f33a6f7e04f543ec (diff) | |
download | xen-6055fb83ae7ea64597c98b32448571139dfbc6fa.tar.gz xen-6055fb83ae7ea64597c98b32448571139dfbc6fa.tar.bz2 xen-6055fb83ae7ea64597c98b32448571139dfbc6fa.zip |
x86: Change a local label in asm entry stubs to really be local.
This prevents it appearing in crash traces, where it can be a bit confusing.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r-- | xen/arch/x86/x86_32/entry.S | 5 | ||||
-rw-r--r-- | xen/arch/x86/x86_64/compat/entry.S | 5 | ||||
-rw-r--r-- | xen/arch/x86/x86_64/entry.S | 5 |
3 files changed, 6 insertions, 9 deletions
diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S index 35273923a5..02409f949a 100644 --- a/xen/arch/x86/x86_32/entry.S +++ b/xen/arch/x86/x86_32/entry.S @@ -197,13 +197,12 @@ ENTRY(hypercall) #define SHADOW_BYTES 24 /* 6 shadow parameters */ #endif cmpb $0,tb_init_done - je tracing_off + je 1f call trace_hypercall /* Now restore all the registers that trace_hypercall clobbered */ movl UREGS_eax+SHADOW_BYTES(%esp),%eax /* Hypercall # */ #undef SHADOW_BYTES -tracing_off: - call *hypercall_table(,%eax,4) +1: call *hypercall_table(,%eax,4) addl $24,%esp # Discard the shadow parameters #ifndef NDEBUG /* Deliberately corrupt real parameter regs used by this hypercall. */ diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S index 80736ecc3f..0251580e79 100644 --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -59,7 +59,7 @@ ENTRY(compat_hypercall) #define SHADOW_BYTES 0 /* No on-stack shadow state */ #endif cmpb $0,tb_init_done(%rip) - je compat_tracing_off + je 1f call trace_hypercall /* Now restore all the registers that trace_hypercall clobbered */ movl UREGS_rax+SHADOW_BYTES(%rsp),%eax /* Hypercall # */ @@ -70,8 +70,7 @@ ENTRY(compat_hypercall) movl UREGS_rdi+SHADOW_BYTES(%rsp),%r8d /* Arg 5 */ movl UREGS_rbp+SHADOW_BYTES(%rsp),%r9d /* Arg 6 */ #undef SHADOW_BYTES -compat_tracing_off: - leaq compat_hypercall_table(%rip),%r10 +1: leaq compat_hypercall_table(%rip),%r10 PERFC_INCR(PERFC_hypercalls, %rax, %rbx) callq *(%r10,%rax,8) #ifndef NDEBUG diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index d4b112bc2f..6c14d233c2 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -163,7 +163,7 @@ ENTRY(syscall_enter) #define SHADOW_BYTES 0 /* No on-stack shadow state */ #endif cmpb $0,tb_init_done(%rip) - je tracing_off + je 1f call trace_hypercall /* Now restore all the registers that trace_hypercall clobbered */ movq UREGS_rax+SHADOW_BYTES(%rsp),%rax /* Hypercall # */ @@ -174,8 +174,7 @@ ENTRY(syscall_enter) movq UREGS_rdi+SHADOW_BYTES(%rsp),%r8 /* Arg 5 */ movq UREGS_rbp+SHADOW_BYTES(%rsp),%r9 /* Arg 6 */ #undef SHADOW_BYTES -tracing_off: - leaq hypercall_table(%rip),%r10 +1: leaq hypercall_table(%rip),%r10 PERFC_INCR(PERFC_hypercalls, %rax, %rbx) callq *(%r10,%rax,8) #ifndef NDEBUG |