Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch Use END() to set ELF symbol size. Set some type in...
details: https://anonhg.NetBSD.org/src/rev/8ce34a5b16f7
branches: trunk
changeset: 787532:8ce34a5b16f7
user: uebayasi <uebayasi%NetBSD.org@localhost>
date: Sat Jun 22 06:57:30 2013 +0000
description:
Use END() to set ELF symbol size. Set some type info too.
diffstat:
sys/arch/amd64/amd64/spl.S | 20 +++++++++++++++++---
sys/arch/i386/i386/spl.S | 12 ++++++++----
2 files changed, 25 insertions(+), 7 deletions(-)
diffs (152 lines):
diff -r f05851505b7c -r 8ce34a5b16f7 sys/arch/amd64/amd64/spl.S
--- a/sys/arch/amd64/amd64/spl.S Sat Jun 22 06:23:28 2013 +0000
+++ b/sys/arch/amd64/amd64/spl.S Sat Jun 22 06:57:30 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: spl.S,v 1.26 2012/11/10 16:28:06 cherry Exp $ */
+/* $NetBSD: spl.S,v 1.27 2013/06/22 06:57:30 uebayasi Exp $ */
/*
* Copyright (c) 2003 Wasabi Systems, Inc.
@@ -116,6 +116,7 @@
popq %r15 /* unwind switchframe */
addq $(5 * 8),%rsp
jmp *%r13 /* back to splx/doreti */
+END(Xsoftintr)
/*
* softintr_ret()
@@ -130,6 +131,7 @@
movl $0, L_CTXSWTCH(%rax) /* %rax from cpu_switchto */
cli
jmp *%r13 /* back to splx/doreti */
+END(softintr_ret)
/*
* void softint_trigger(uintptr_t machdep);
@@ -139,6 +141,7 @@
NENTRY(softint_trigger)
orl %edi,CPUVAR(IPENDING) /* atomic on local cpu */
ret
+END(softint_trigger)
/*
@@ -153,6 +156,7 @@
call _C_LABEL(kpreempt)
cli
jmp *%r13
+END(Xpreemptrecurse)
/*
* Xpreemptresume()
@@ -172,6 +176,7 @@
call _C_LABEL(preempt) # from user
cli
jmp *%r13
+END(Xpreemptresume)
/*
* int splraise(int s);
@@ -182,6 +187,7 @@
cmoval %eax,%edi
movl %edi,CPUVAR(ILEVEL)
ret
+END(splraise)
/*
* void spllower(int s);
@@ -213,6 +219,7 @@
nop
.align 16
#endif
+END(spllower)
LABEL(spllower_end)
#endif /* !XEN */
@@ -247,10 +254,13 @@
ret
2:
movq %r8,%rbx
+ .type _C_LABEL(cx8_spllower_patch), @function
LABEL(cx8_spllower_patch)
jmp _C_LABEL(Xspllower)
.align 16
+END(cx8_spllower_patch)
+END(cx8_spllower)
LABEL(cx8_spllower_end)
/*
@@ -295,6 +305,7 @@
popq %r13
popq %rbx
ret
+END(Xspllower)
/*
* Handle return from interrupt after device handler finishes.
@@ -321,8 +332,9 @@
5:
testb $SEL_RPL,TF_CS(%rsp)
jz 6f
- .globl doreti_checkast
-doreti_checkast:
+
+ .type _C_LABEL(doreti_checkast), @function
+LABEL(doreti_checkast)
movq CPUVAR(CURLWP),%r14
CHECK_ASTPENDING(%r14)
je 3f
@@ -344,3 +356,5 @@
call _C_LABEL(do_pmap_load)
CLI(si)
jmp doreti_checkast /* recheck ASTs */
+END(doreti_checkast)
+END(Xdoreti)
diff -r f05851505b7c -r 8ce34a5b16f7 sys/arch/i386/i386/spl.S
--- a/sys/arch/i386/i386/spl.S Sat Jun 22 06:23:28 2013 +0000
+++ b/sys/arch/i386/i386/spl.S Sat Jun 22 06:57:30 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: spl.S,v 1.38 2012/11/10 16:28:06 cherry Exp $ */
+/* $NetBSD: spl.S,v 1.39 2013/06/22 06:57:30 uebayasi Exp $ */
/*
* Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.38 2012/11/10 16:28:06 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spl.S,v 1.39 2013/06/22 06:57:30 uebayasi Exp $");
#include "opt_vm86.h"
#include "opt_ddb.h"
@@ -136,6 +136,8 @@
ret
2:
popl %ebx
+
+ .type _C_LABEL(cx8_spllower_patch), @function
LABEL(cx8_spllower_patch)
jmp _C_LABEL(Xspllower)
.align 32
@@ -281,8 +283,8 @@
#else
jmp 6f
#endif
- .globl doreti_checkast
-doreti_checkast:
+ .type _C_LABEL(doreti_checkast), @function
+LABEL(doreti_checkast)
CHECK_ASTPENDING(%eax)
jz 3f
CLEAR_ASTPENDING(%eax)
@@ -294,6 +296,8 @@
addl $4,%esp
CLI(%eax)
jmp 5b
+END(doreti_checkast)
+
3:
CHECK_DEFERRED_SWITCH
jnz 9f
Home |
Main Index |
Thread Index |
Old Index