Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F105745135
D27387.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
36 KB
Referenced Files
None
Subscribers
None
D27387.diff
View Options
Index: head/lib/libc/powerpc/SYS.h
===================================================================
--- head/lib/libc/powerpc/SYS.h
+++ head/lib/libc/powerpc/SYS.h
@@ -58,7 +58,8 @@
WEAK_REFERENCE(__sys_##name, _##name); \
_SYSCALL(name); \
bnslr; \
- b CNAME(HIDENAME(cerror))
+ b CNAME(HIDENAME(cerror)); \
+END(__sys_##name)
#define RSYSCALL(name) \
.text; \
@@ -68,4 +69,5 @@
WEAK_REFERENCE(__sys_##name, _##name); \
_SYSCALL(name); \
bnslr; \
- b CNAME(HIDENAME(cerror))
+ b CNAME(HIDENAME(cerror)); \
+END(__sys_##name)
Index: head/lib/libc/powerpc64/SYS.h
===================================================================
--- head/lib/libc/powerpc64/SYS.h
+++ head/lib/libc/powerpc64/SYS.h
@@ -74,7 +74,8 @@
addi %r1,%r1,48; \
ld %r0,16(%r1); \
mtlr %r0; \
- blr;
+ blr; \
+END(__sys_##name)
#define RSYSCALL(name) \
.text; \
@@ -93,4 +94,5 @@
addi %r1,%r1,48; \
ld %r0,16(%r1); \
mtlr %r0; \
- blr;
+ blr; \
+END(__sys_##name)
Index: head/lib/libc/powerpc64/sys/cerror.S
===================================================================
--- head/lib/libc/powerpc64/sys/cerror.S
+++ head/lib/libc/powerpc64/sys/cerror.S
@@ -56,5 +56,6 @@
li %r3,-1
li %r4,-1
blr
+END(HIDENAME(cerror))
.section .note.GNU-stack,"",%progbits
Index: head/lib/libthr/arch/i386/i386/_umtx_op_err.S
===================================================================
--- head/lib/libthr/arch/i386/i386/_umtx_op_err.S
+++ head/lib/libthr/arch/i386/i386/_umtx_op_err.S
@@ -31,7 +31,10 @@
#define SYSCALL_ERR(x) \
ENTRY(__CONCAT(x, _err)); \
- mov __CONCAT($SYS_,x),%eax; int $0x80; ret
+ mov __CONCAT($SYS_,x),%eax; \
+ int $0x80; \
+ ret; \
+ END(__CONCAT(x, _err))
SYSCALL_ERR(_umtx_op)
Index: head/lib/msun/i387/e_logf.S
===================================================================
--- head/lib/msun/i387/e_logf.S
+++ head/lib/msun/i387/e_logf.S
@@ -13,5 +13,6 @@
flds 4(%esp)
fyl2x
ret
+END(logf)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/e_remainderl.S
===================================================================
--- head/lib/msun/i387/e_remainderl.S
+++ head/lib/msun/i387/e_remainderl.S
@@ -46,5 +46,6 @@
jp 1b
fstp %st(1)
ret
+END(remainderl)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/e_sqrtl.S
===================================================================
--- head/lib/msun/i387/e_sqrtl.S
+++ head/lib/msun/i387/e_sqrtl.S
@@ -40,5 +40,6 @@
fldt 4(%esp)
fsqrt
ret
+END(sqrtl)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/s_llrintl.S
===================================================================
--- head/lib/msun/i387/s_llrintl.S
+++ head/lib/msun/i387/s_llrintl.S
@@ -34,5 +34,6 @@
popl %eax
popl %edx
ret
+END(llrintl)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/s_logbl.S
===================================================================
--- head/lib/msun/i387/s_logbl.S
+++ head/lib/msun/i387/s_logbl.S
@@ -41,5 +41,6 @@
fxtract
fstp %st
ret
+END(logbl)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/s_lrintl.S
===================================================================
--- head/lib/msun/i387/s_lrintl.S
+++ head/lib/msun/i387/s_lrintl.S
@@ -33,5 +33,6 @@
fistpl (%esp)
popl %eax
ret
+END(lrintl)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/s_remquol.S
===================================================================
--- head/lib/msun/i387/s_remquol.S
+++ head/lib/msun/i387/s_remquol.S
@@ -61,5 +61,6 @@
movl 28(%esp),%ecx
movl %eax,(%ecx)
ret
+END(remquol)
.section .note.GNU-stack,"",%progbits
Index: head/lib/msun/i387/s_rintl.S
===================================================================
--- head/lib/msun/i387/s_rintl.S
+++ head/lib/msun/i387/s_rintl.S
@@ -40,5 +40,6 @@
fldt 4(%esp)
frndint
ret
+END(rintl)
.section .note.GNU-stack,"",%progbits
Index: head/libexec/rtld-elf/aarch64/rtld_start.S
===================================================================
--- head/libexec/rtld-elf/aarch64/rtld_start.S
+++ head/libexec/rtld-elf/aarch64/rtld_start.S
@@ -55,7 +55,6 @@
* x17 = &_rtld_bind_start
*/
ENTRY(_rtld_bind_start)
- .cfi_startproc
mov x17, sp
/* Save frame pointer and SP */
@@ -114,7 +113,6 @@
/* Call into the correct function */
br x16
- .cfi_endproc
END(_rtld_bind_start)
/*
@@ -128,10 +126,8 @@
* Resolver function for TLS symbols resolved at load time
*/
ENTRY(_rtld_tlsdesc_static)
- .cfi_startproc
ldr x0, [x0, #8]
ret
- .cfi_endproc
END(_rtld_tlsdesc_static)
/*
@@ -140,7 +136,6 @@
* Resolver function for weak and undefined TLS symbols
*/
ENTRY(_rtld_tlsdesc_undef)
- .cfi_startproc
str x1, [sp, #-16]!
.cfi_adjust_cfa_offset 16
@@ -150,7 +145,6 @@
ldr x1, [sp], #16
.cfi_adjust_cfa_offset -16
- .cfi_endproc
ret
END(_rtld_tlsdesc_undef)
@@ -160,8 +154,6 @@
* Resolver function for TLS symbols from dlopen()
*/
ENTRY(_rtld_tlsdesc_dynamic)
- .cfi_startproc
-
/* Save registers used in fast path */
stp x1, x2, [sp, #(-2 * 16)]!
stp x3, x4, [sp, #(1 * 16)]
@@ -257,6 +249,5 @@
ldp x3, x4, [sp, #16]
ldp x1, x2, [sp], #(2 * 16)
.cfi_adjust_cfa_offset -2 * 16
- .cfi_endproc
ret
END(_rtld_tlsdesc_dynamic)
Index: head/libexec/rtld-elf/powerpc/rtld_start.S
===================================================================
--- head/libexec/rtld-elf/powerpc/rtld_start.S
+++ head/libexec/rtld-elf/powerpc/rtld_start.S
@@ -101,6 +101,7 @@
li %r0,1 /* _exit() */
sc
+_END(.rtld_start)
#ifdef __SPE__
/* stack space for 30 GPRs + SPEFSCR/ACC/lr/cr */
@@ -142,6 +143,7 @@
ori %r11,%r11,0x15555556@l
mulhwu %r11,%r11,%r0 # get high half of multiplication
b 1f
+_END(_rtld_bind_secureplt_start)
/*
* _rtld_bind_start()
@@ -264,6 +266,7 @@
addi %r1,%r1,STACK_SIZE # restore stack
bctr # jump to target
+_END(_rtld_bind_start)
/*
@@ -284,6 +287,7 @@
subf %r11,%r12,%r11 # reloff
li %r12,2
srw %r11,%r11,%r12 # index = reloff/sizeof(Elf_Addr)
+_END(_rtld_powerpc_pltlongresolve)
_ENTRY(_rtld_powerpc_pltresolve)
lis %r12,0 # lis 12,_rtld_bind_start@ha
addi %r12,%r12,0 # addi 12,12,_rtld_bind_start@l
@@ -291,6 +295,7 @@
lis %r12,0 # lis 12,obj@ha
addi %r12,%r12,0 # addi 12,12,obj@l
bctr
+_END(_rtld_powerpc_pltresolve)
/*
* _rtld_powerpc_pltcall()
@@ -311,5 +316,6 @@
lwz %r11,0(%r11) # lwz 11,jmptab@l(11)
mtctr %r11
bctr # (*jmptab[index])()
+_END(_rtld_powerpc_pltcall)
.section .note.GNU-stack,"",%progbits
Index: head/libexec/rtld-elf/powerpc64/rtld_start.S
===================================================================
--- head/libexec/rtld-elf/powerpc64/rtld_start.S
+++ head/libexec/rtld-elf/powerpc64/rtld_start.S
@@ -113,6 +113,7 @@
li %r0,1 /* _exit() */
sc
+_END(_rtld_start)
/*
* _rtld_bind_start()
@@ -175,5 +176,6 @@
mtlr %r0
bctr # jump to target
+_END(_rtld_bind_start)
.section .note.GNU-stack,"",%progbits
Index: head/stand/libsa/powerpc/_setjmp.S
===================================================================
--- head/stand/libsa/powerpc/_setjmp.S
+++ head/stand/libsa/powerpc/_setjmp.S
@@ -76,6 +76,7 @@
/* f14-f31, fpscr */
li 3, 0
blr
+ASEND(_setjmp)
.extern sigsetmask
@@ -113,3 +114,4 @@
/* f14-f31, fpscr */
mr 3, 4
blr
+ASEND(_longjmp)
Index: head/stand/powerpc/kboot/host_syscall.S
===================================================================
--- head/stand/powerpc/kboot/host_syscall.S
+++ head/stand/powerpc/kboot/host_syscall.S
@@ -13,11 +13,13 @@
1:
li %r3, 0
blr
+END(host_read)
ENTRY(host_write)
li %r0, 4 # SYS_write
sc
blr
+END(host_write)
ENTRY(host_seek)
mr %r4,%r5
@@ -26,11 +28,13 @@
li %r0, 140 # SYS_llseek
sc
blr
+END(host_seek)
ENTRY(host_llseek)
li %r0, 140 # SYS_llseek
sc
blr
+END(host_llseek)
ENTRY(host_open)
li %r0, 5 # SYS_open
@@ -40,45 +44,54 @@
1:
li %r3, 0
blr
+END(host_open)
ENTRY(host_close)
li %r0, 6 # SYS_close
sc
blr
+END(host_close)
ENTRY(host_mmap)
li %r0, 90 # SYS_mmap
sc
blr
+END(host_mmap)
ENTRY(host_uname)
li %r0, 122 # SYS_uname
sc
blr
+END(host_uname)
ENTRY(host_gettimeofday)
li %r0, 78 # SYS_gettimeofday
sc
blr
+END(host_gettimeofday)
ENTRY(host_select)
li %r0, 142 # SYS_select
sc
blr
+END(host_select)
ENTRY(kexec_load)
lis %r6,21 # KEXEC_ARCH_PPC64
li %r0,268 # __NR_kexec_load
sc
blr
+END(kexec_load)
ENTRY(host_reboot)
li %r0,88 # SYS_reboot
sc
blr
+END(host_reboot)
ENTRY(host_getdents)
li %r0,141 # SYS_getdents
sc
blr
+END(host_getdents)
Index: head/stand/powerpc/uboot/start.S
===================================================================
--- head/stand/powerpc/uboot/start.S
+++ head/stand/powerpc/uboot/start.S
@@ -85,6 +85,7 @@
lwz %r30, 12(%r1)
mr %r1, %r11
blr
+END(syscall)
/*
* Data section
Index: head/sys/arm64/include/asm.h
===================================================================
--- head/sys/arm64/include/asm.h
+++ head/sys/arm64/include/asm.h
@@ -39,10 +39,11 @@
#define _C_LABEL(x) x
#define ENTRY(sym) \
- .text; .globl sym; .align 2; .type sym,#function; sym:
+ .text; .globl sym; .align 2; .type sym,#function; sym: \
+ .cfi_startproc
#define EENTRY(sym) \
.globl sym; sym:
-#define END(sym) .size sym, . - sym
+#define END(sym) .cfi_endproc; .size sym, . - sym
#define EEND(sym)
#define WEAK_REFERENCE(sym, alias) \
Index: head/sys/arm64/linux/linux_locore.asm
===================================================================
--- head/sys/arm64/linux/linux_locore.asm
+++ head/sys/arm64/linux/linux_locore.asm
@@ -47,17 +47,21 @@
ENTRY(__kernel_rt_sigreturn)
brk #0 /* LINUXTODO: implement __kernel_rt_sigreturn */
ret
+END(__kernel_rt_sigreturn)
ENTRY(__kernel_gettimeofday)
ldr x8, =LINUX_SYS_gettimeofday
svc #0
ret
+END(__kernel_gettimeofday)
ENTRY(__kernel_clock_gettime)
ldr x8, =LINUX_SYS_linux_clock_gettime
svc #0
ret
+END(__kernel_clock_gettime)
ENTRY(__kernel_clock_getres)
brk #0 /* LINUXTODO: implement __kernel_clock_getres */
ret
+END(__kernel_clock_getres)
Index: head/sys/arm64/linux/linux_support.s
===================================================================
--- head/sys/arm64/linux/linux_support.s
+++ head/sys/arm64/linux/linux_support.s
@@ -39,19 +39,24 @@
ENTRY(futex_xchgl)
brk #0
ret
+END(futex_xchgl)
ENTRY(futex_addl)
brk #0
ret
+END(futex_addl)
ENTRY(futex_orl)
brk #0
ret
+END(futex_orl)
ENTRY(futex_andl)
brk #0
ret
+END(futex_andl)
ENTRY(futex_xorl)
brk #0
ret
+END(futex_xorl)
Index: head/sys/crypto/des/arch/i386/des_enc.S
===================================================================
--- head/sys/crypto/des/arch/i386/des_enc.S
+++ head/sys/crypto/des/arch/i386/des_enc.S
@@ -1354,8 +1354,7 @@
popl %edi
popl %esi
ret
-.L_des_encrypt1_end:
- .size _C_LABEL(des_encrypt1),.L_des_encrypt1_end-_C_LABEL(des_encrypt1)
+END(des_encrypt1)
ENTRY(des_encrypt2)
pushl %esi
@@ -2573,8 +2572,7 @@
popl %edi
popl %esi
ret
-.L_des_encrypt2_end:
- .size _C_LABEL(des_encrypt2),.L_des_encrypt2_end-_C_LABEL(des_encrypt2)
+END(des_encrypt2)
ENTRY(des_encrypt3)
pushl %ebx
@@ -2692,8 +2690,7 @@
popl %ebp
popl %ebx
ret
-.L_des_encrypt3_end:
- .size _C_LABEL(des_encrypt3),.L_des_encrypt3_end-_C_LABEL(des_encrypt3)
+END(des_encrypt3)
ENTRY(des_decrypt3)
pushl %ebx
@@ -2811,5 +2808,4 @@
popl %ebp
popl %ebx
ret
-.L_des_decrypt3_end:
- .size _C_LABEL(des_decrypt3),.L_des_decrypt3_end-_C_LABEL(des_decrypt3)
+END(des_decrypt3)
Index: head/sys/i386/bios/smapi_bios.S
===================================================================
--- head/sys/i386/bios/smapi_bios.S
+++ head/sys/i386/bios/smapi_bios.S
@@ -38,3 +38,4 @@
leave
ret
+END(smapi32)
Index: head/sys/i386/include/asm.h
===================================================================
--- head/sys/i386/include/asm.h
+++ head/sys/i386/include/asm.h
@@ -73,19 +73,30 @@
#define _START_ENTRY .text; .p2align 2,0x90
#define _ENTRY(x) _START_ENTRY; \
- .globl CNAME(x); .type CNAME(x),@function; CNAME(x):
-#define END(x) .size x, . - x
+ .globl CNAME(x); .type CNAME(x),@function; CNAME(x): \
+ .cfi_startproc
+#define END(x) .cfi_endproc; .size x, . - x
#ifdef PROF
#define ALTENTRY(x) _ENTRY(x); \
- pushl %ebp; movl %esp,%ebp; \
+ pushl %ebp; \
+ .cfi_def_cfa_offset 8; \
+ .cfi_offset %ebp, -8; \
+ movl %esp,%ebp; \
call PIC_PLT(HIDENAME(mcount)); \
popl %ebp; \
+ .cfi_restore %ebp; \
+ .cfi_def_cfa_offset 4; \
jmp 9f
#define ENTRY(x) _ENTRY(x); \
- pushl %ebp; movl %esp,%ebp; \
+ pushl %ebp; \
+ .cfi_def_cfa_offset 8; \
+ .cfi_offset %ebp, -8; \
+ movl %esp,%ebp; \
call PIC_PLT(HIDENAME(mcount)); \
popl %ebp; \
+ .cfi_restore %ebp; \
+ .cfi_def_cfa_offset 4; \
9:
#else
#define ALTENTRY(x) _ENTRY(x)
Index: head/sys/powerpc/aim/locore.S
===================================================================
--- head/sys/powerpc/aim/locore.S
+++ head/sys/powerpc/aim/locore.S
@@ -13,3 +13,4 @@
ENTRY(get_spr)
mfspr %r3, 0
blr
+END(get_spr)
Index: head/sys/powerpc/aim/locore64.S
===================================================================
--- head/sys/powerpc/aim/locore64.S
+++ head/sys/powerpc/aim/locore64.S
@@ -203,6 +203,7 @@
/* Unreachable */
b .
+_END(__start)
ASENTRY_NOPROF(__restartkernel_virtual)
/*
@@ -254,6 +255,7 @@
addi %r14, %r14, 1
cmpdi %r14, 16
blt 1b
+ASEND(__restartkernel_virtual)
ASENTRY_NOPROF(__restartkernel)
/*
@@ -270,5 +272,6 @@
rfid
2: bl __start
nop
+ASEND(__restartkernel)
#include <powerpc/aim/trap_subr64.S>
Index: head/sys/powerpc/aim/trap_subr64.S
===================================================================
--- head/sys/powerpc/aim/trap_subr64.S
+++ head/sys/powerpc/aim/trap_subr64.S
@@ -957,6 +957,7 @@
dbleave:
FRAME_LEAVE(PC_DBSAVE)
rfid
+ASEND(breakpoint)
/*
* In case of KDB we want a separate trap catcher for it
Index: head/sys/powerpc/booke/locore.S
===================================================================
--- head/sys/powerpc/booke/locore.S
+++ head/sys/powerpc/booke/locore.S
@@ -834,6 +834,7 @@
andi. %r3, %r3, L1CSR0_DCFI
bne 1b
blr
+END(dcache_inval)
ENTRY(dcache_disable)
/* Disable d-cache */
@@ -846,6 +847,7 @@
mtspr SPR_L1CSR0, %r3
isync
blr
+END(dcache_disable)
ENTRY(dcache_enable)
/* Enable d-cache */
@@ -857,6 +859,7 @@
mtspr SPR_L1CSR0, %r3
isync
blr
+END(dcache_enable)
ENTRY(icache_inval)
/* Invalidate i-cache */
@@ -869,6 +872,7 @@
andi. %r3, %r3, L1CSR1_ICFI
bne 1b
blr
+END(icache_inval)
ENTRY(icache_disable)
/* Disable i-cache */
@@ -880,6 +884,7 @@
mtspr SPR_L1CSR1, %r3
isync
blr
+END(icache_disable)
ENTRY(icache_enable)
/* Enable i-cache */
@@ -890,6 +895,7 @@
mtspr SPR_L1CSR1, %r3
isync
blr
+END(icache_enable)
/*
* L2 cache disable/enable/inval sequences for E500mc.
@@ -906,6 +912,7 @@
andis. %r3, %r3, L2CSR0_L2FI@h
bne 1b
blr
+END(l2cache_inval)
ENTRY(l2cache_enable)
mfspr %r3, SPR_L2CSR0
@@ -914,6 +921,7 @@
mtspr SPR_L2CSR0, %r3
isync
blr
+END(l2cache_enable)
/*
* Branch predictor setup.
@@ -929,6 +937,7 @@
mtspr SPR_BUCSR, %r3
isync
blr
+END(bpred_enable)
/*
* XXX: This should be moved to a shared AIM/booke asm file, if one ever is
@@ -938,6 +947,7 @@
/* Note: The spr number is patched at runtime */
mfspr %r3, 0
blr
+END(get_spr)
/************************************************************************/
/* Data section */
Index: head/sys/powerpc/booke/trap_subr.S
===================================================================
--- head/sys/powerpc/booke/trap_subr.S
+++ head/sys/powerpc/booke/trap_subr.S
@@ -1097,6 +1097,7 @@
dbleave:
FRAME_LEAVE(SPR_SRR0, SPR_SRR1)
rfi
+ASEND(breakpoint)
#endif /* KDB */
#ifdef SMP
@@ -1111,6 +1112,7 @@
isync
msync
blr
+END(tlb_lock)
ENTRY(tlb_unlock)
isync
@@ -1120,6 +1122,7 @@
isync
msync
blr
+END(tlb_unlock)
/*
* TLB miss spin locks. For each CPU we have a reservation granule (32 bytes);
Index: head/sys/powerpc/include/asm.h
===================================================================
--- head/sys/powerpc/include/asm.h
+++ head/sys/powerpc/include/asm.h
@@ -108,12 +108,13 @@
.globl name; \
.section ".opd","aw"; \
.p2align 3; \
- name: \
+name: \
.quad DOT_LABEL(name),.TOC.@tocbase,0; \
.previous; \
.p2align 4; \
TYPE_ENTRY(name) \
-DOT_LABEL(name):
+DOT_LABEL(name): \
+ .cfi_startproc
#define _NAKED_ENTRY(name) _ENTRY(name)
#else
#define _ENTRY(name) \
@@ -122,6 +123,7 @@
.globl name; \
.type name,@function; \
name: \
+ .cfi_startproc; \
addis %r2, %r12, (.TOC.-name)@ha; \
addi %r2, %r2, (.TOC.-name)@l; \
.localentry name, .-name;
@@ -133,10 +135,12 @@
.globl name; \
.type name,@function; \
name: \
+ .cfi_startproc; \
.localentry name, .-name;
#endif
#define _END(name) \
+ .cfi_endproc; \
.long 0; \
.byte 0,0,0,0,0,0,0,0; \
END_SIZE(name)
@@ -153,8 +157,11 @@
.p2align 4; \
.globl name; \
.type name,@function; \
- name:
-#define _END(name)
+name: \
+ .cfi_startproc
+#define _END(name) \
+ .cfi_endproc; \
+ .size name, . - name
#define _NAKED_ENTRY(name) _ENTRY(name)
@@ -186,6 +193,7 @@
# define _PROF_PROLOGUE
#endif
+#define ASEND(y) _END(ASMNAME(y))
#define ASENTRY(y) _ENTRY(ASMNAME(y)); _PROF_PROLOGUE
#define END(y) _END(CNAME(y))
#define ENTRY(y) _ENTRY(CNAME(y)); _PROF_PROLOGUE
Index: head/sys/powerpc/mambo/mambocall.S
===================================================================
--- head/sys/powerpc/mambo/mambocall.S
+++ head/sys/powerpc/mambo/mambocall.S
@@ -36,4 +36,4 @@
*/
.long 0x000EAEB0
blr
-
+ASEND(mambocall)
Index: head/sys/powerpc/ofw/ofwcall32.S
===================================================================
--- head/sys/powerpc/ofw/ofwcall32.S
+++ head/sys/powerpc/ofw/ofwcall32.S
@@ -120,6 +120,7 @@
lwz %r0,4(%r1)
mtlr %r0
blr
+ASEND(ofwcall)
/*
* RTAS Entry Point. Similar to the OF one, but simpler (no separate stack)
@@ -174,4 +175,4 @@
lwz %r0,4(%r1)
mtlr %r0
blr
-
+ASEND(rtascall)
Index: head/sys/powerpc/ofw/ofwcall64.S
===================================================================
--- head/sys/powerpc/ofw/ofwcall64.S
+++ head/sys/powerpc/ofw/ofwcall64.S
@@ -216,6 +216,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(ofwcall)
/*
* RTAS 32-bit Entry Point. Similar to the OF one, but simpler (no separate
@@ -380,4 +381,4 @@
ld %r0,16(%r1)
mtlr %r0
blr
-
+ASEND(rtascall)
Index: head/sys/powerpc/powernv/opalcall.S
===================================================================
--- head/sys/powerpc/powernv/opalcall.S
+++ head/sys/powerpc/powernv/opalcall.S
@@ -129,4 +129,4 @@
/* And return */
blr
-
+ASEND(opal_call)
Index: head/sys/powerpc/powerpc/cpu_subr64.S
===================================================================
--- head/sys/powerpc/powerpc/cpu_subr64.S
+++ head/sys/powerpc/powerpc/cpu_subr64.S
@@ -96,3 +96,4 @@
bne 2b
nap
b .
+END(enter_idle_powerx)
Index: head/sys/powerpc/powerpc/setjmp.S
===================================================================
--- head/sys/powerpc/powerpc/setjmp.S
+++ head/sys/powerpc/powerpc/setjmp.S
@@ -75,6 +75,7 @@
/* f14-f31, fpscr */
li 3, 0
blr
+ASEND(setjmp)
.extern sigsetmask
@@ -112,3 +113,4 @@
/* f14-f31, fpscr */
mr 3, 4
blr
+ASEND(longjmp)
Index: head/sys/powerpc/powerpc/support.S
===================================================================
--- head/sys/powerpc/powerpc/support.S
+++ head/sys/powerpc/powerpc/support.S
@@ -73,9 +73,11 @@
#endif
#ifdef AIM
-#define ENTRY_DIRECT(x) ENTRY(x ## _direct)
+#define ENTRY_DIRECT(x) ENTRY(x ## _direct)
+#define END_DIRECT(x) END(x ## _direct)
#else
#define ENTRY_DIRECT(x) ENTRY(x)
+#define END_DIRECT(x) END(x)
#endif
#ifdef __powerpc64__
@@ -320,6 +322,7 @@
/* done */
.Lend:
blr
+END(bcopy_generic)
/*
* copyout(from_kernel, to_user, len)
@@ -332,6 +335,7 @@
nop
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(copyout)
/*
* copyin(from_user, to_kernel, len)
@@ -344,6 +348,8 @@
nop
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(copyin)
+
/*
* copyinstr(const void *udaddr, void *kaddr, size_t len, size_t *done)
* %r3 %r4 %r5 %r6
@@ -379,6 +385,7 @@
3:
CLEAR_FAULT_NO_CLOBBER(%r7)
EPILOGUE
+END_DIRECT(copyinstr)
ENTRY_DIRECT(subyte)
PROLOGUE
@@ -386,6 +393,7 @@
stb %r4, 0(%r3)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(subyte)
#ifndef __powerpc64__
ENTRY_DIRECT(suword)
@@ -394,6 +402,7 @@
stw %r4, 0(%r3)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(suword)
#endif
ENTRY_DIRECT(suword32)
@@ -402,6 +411,7 @@
stw %r4, 0(%r3)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(suword32)
#ifdef __powerpc64__
ENTRY_DIRECT(suword64)
@@ -410,12 +420,15 @@
std %r4, 0(%r3)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(suword64)
+
ENTRY_DIRECT(suword)
PROLOGUE
SET_FUSUFAULT(%r3, %r7)
std %r4, 0(%r3)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(suword)
#endif
ENTRY_DIRECT(fubyte)
@@ -424,6 +437,7 @@
lbz %r3, 0(%r3)
CLEAR_FAULT_NO_CLOBBER(%r7)
EPILOGUE
+END_DIRECT(fubyte)
ENTRY_DIRECT(fuword16)
PROLOGUE
@@ -431,6 +445,7 @@
lhz %r3, 0(%r3)
CLEAR_FAULT_NO_CLOBBER(%r7)
EPILOGUE
+END_DIRECT(fuword16)
#ifndef __powerpc64__
ENTRY_DIRECT(fueword)
@@ -440,6 +455,7 @@
stw %r0, 0(%r4)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(fueword)
#endif
ENTRY_DIRECT(fueword32)
PROLOGUE
@@ -448,6 +464,7 @@
stw %r0, 0(%r4)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(fueword32)
#ifdef __powerpc64__
ENTRY_DIRECT(fueword)
@@ -457,6 +474,7 @@
std %r0, 0(%r4)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(fueword)
ENTRY_DIRECT(fueword64)
PROLOGUE
@@ -465,6 +483,7 @@
std %r0, 0(%r4)
CLEAR_FAULT(%r7)
EPILOGUE
+END_DIRECT(fueword64)
#endif
/*
@@ -495,6 +514,7 @@
ENTRY_DIRECT(casueword32)
CASUEWORD32(%r3, %r7)
+END_DIRECT(casueword32)
#ifdef __powerpc64__
#define CASUEWORD64(raddr, rpcb) ;\
@@ -520,20 +540,25 @@
ENTRY_DIRECT(casueword)
CASUEWORD64(%r3, %r7)
+END_DIRECT(casueword)
ENTRY_DIRECT(casueword64)
CASUEWORD64(%r3, %r7)
+END_DIRECT(casueword64)
#else
ENTRY_DIRECT(casueword)
CASUEWORD32(%r3, %r7)
+END_DIRECT(casueword)
#endif
_NAKED_ENTRY(fusufault)
CLEAR_FAULT_NO_CLOBBER(%r7)
li %r3, -1
EPILOGUE
+_END(fusufault)
_NAKED_ENTRY(copy_fault)
CLEAR_FAULT_NO_CLOBBER(%r7)
li %r3, EFAULT
EPILOGUE
+_END(copy_fault)
Index: head/sys/powerpc/powerpc/swtch32.S
===================================================================
--- head/sys/powerpc/powerpc/swtch32.S
+++ head/sys/powerpc/powerpc/swtch32.S
@@ -74,6 +74,7 @@
li %r14,0 /* Tell cpu_switchin not to release a thread */
b cpu_switchin
+END(cpu_throw)
/*
* void cpu_switch(struct thread *old,
@@ -193,6 +194,7 @@
*/
stwcx. %r1, 0, %r3
blr
+END(cpu_switch)
/*
* savectx(pcb)
@@ -206,6 +208,7 @@
mflr %r4 /* Save the link register */
stw %r4,PCB_LR(%r3)
blr
+END(savectx)
/*
* fork_trampoline()
@@ -225,3 +228,4 @@
mtspr SPR_SPEFSCR, %r3
#endif
b trapexit
+END(fork_trampoline)
Index: head/sys/powerpc/powerpc/swtch64.S
===================================================================
--- head/sys/powerpc/powerpc/swtch64.S
+++ head/sys/powerpc/powerpc/swtch64.S
@@ -81,6 +81,7 @@
li %r18,0 /* No old pcb flags. The old thread is extinguished. */
b cpu_switchin
+END(cpu_throw)
/*
* void cpu_switch(struct thread *old,
@@ -304,6 +305,7 @@
*/
stdcx. %r1, 0, %r3
blr
+END(cpu_switch)
/*
* savectx(pcb)
@@ -338,6 +340,7 @@
mflr %r4 /* Save the link register */
std %r4,PCB_LR(%r3)
blr
+END(savectx)
/*
* fork_trampoline()
@@ -358,3 +361,4 @@
a frame pointer/saved LR */
bl trapexit
nop
+END(fork_trampoline)
Index: head/sys/powerpc/ps3/ps3-hvcall.S
===================================================================
--- head/sys/powerpc/ps3/ps3-hvcall.S
+++ head/sys/powerpc/ps3/ps3-hvcall.S
@@ -21,6 +21,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_allocate_memory)
ASENTRY(lv1_write_htab_entry)
mflr %r0
@@ -33,6 +34,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_write_htab_entry)
ASENTRY(lv1_construct_virtual_address_space)
mflr %r0
@@ -51,6 +53,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_construct_virtual_address_space)
ASENTRY(lv1_get_virtual_address_space_id_of_ppe)
mflr %r0
@@ -66,6 +69,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_virtual_address_space_id_of_ppe)
ASENTRY(lv1_query_logical_partition_address_region_info)
mflr %r0
@@ -93,6 +97,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_query_logical_partition_address_region_info)
ASENTRY(lv1_select_virtual_address_space)
mflr %r0
@@ -105,6 +110,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_select_virtual_address_space)
ASENTRY(lv1_pause)
mflr %r0
@@ -117,6 +123,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_pause)
ASENTRY(lv1_destruct_virtual_address_space)
mflr %r0
@@ -129,6 +136,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_destruct_virtual_address_space)
ASENTRY(lv1_configure_irq_state_bitmap)
mflr %r0
@@ -141,6 +149,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_configure_irq_state_bitmap)
ASENTRY(lv1_connect_irq_plug_ext)
mflr %r0
@@ -153,6 +162,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_connect_irq_plug_ext)
ASENTRY(lv1_release_memory)
mflr %r0
@@ -165,6 +175,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_release_memory)
ASENTRY(lv1_put_iopte)
mflr %r0
@@ -177,6 +188,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_put_iopte)
ASENTRY(lv1_disconnect_irq_plug_ext)
mflr %r0
@@ -189,6 +201,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_disconnect_irq_plug_ext)
ASENTRY(lv1_construct_event_receive_port)
mflr %r0
@@ -204,6 +217,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_construct_event_receive_port)
ASENTRY(lv1_destruct_event_receive_port)
mflr %r0
@@ -216,6 +230,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_destruct_event_receive_port)
ASENTRY(lv1_send_event_locally)
mflr %r0
@@ -228,6 +243,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_send_event_locally)
ASENTRY(lv1_end_of_interrupt)
mflr %r0
@@ -240,6 +256,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_end_of_interrupt)
ASENTRY(lv1_connect_irq_plug)
mflr %r0
@@ -252,6 +269,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_connect_irq_plug)
ASENTRY(lv1_disconnect_irq_plus)
mflr %r0
@@ -264,6 +282,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_disconnect_irq_plus)
ASENTRY(lv1_end_of_interrupt_ext)
mflr %r0
@@ -276,6 +295,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_end_of_interrupt_ext)
ASENTRY(lv1_did_update_interrupt_mask)
mflr %r0
@@ -288,6 +308,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_did_update_interrupt_mask)
ASENTRY(lv1_shutdown_logical_partition)
mflr %r0
@@ -300,6 +321,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_shutdown_logical_partition)
ASENTRY(lv1_destruct_logical_spe)
mflr %r0
@@ -312,6 +334,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_destruct_logical_spe)
ASENTRY(lv1_construct_logical_spe)
mflr %r0
@@ -347,6 +370,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_construct_logical_spe)
ASENTRY(lv1_set_spe_interrupt_mask)
mflr %r0
@@ -359,6 +383,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_set_spe_interrupt_mask)
ASENTRY(lv1_disable_logical_spe)
mflr %r0
@@ -371,6 +396,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_disable_logical_spe)
ASENTRY(lv1_clear_spe_interrupt_status)
mflr %r0
@@ -383,6 +409,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_clear_spe_interrupt_status)
ASENTRY(lv1_get_spe_interrupt_status)
mflr %r0
@@ -398,6 +425,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_spe_interrupt_status)
ASENTRY(lv1_get_logical_ppe_id)
mflr %r0
@@ -413,6 +441,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_logical_ppe_id)
ASENTRY(lv1_get_logical_partition_id)
mflr %r0
@@ -428,6 +457,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_logical_partition_id)
ASENTRY(lv1_get_spe_irq_outlet)
mflr %r0
@@ -443,6 +473,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_spe_irq_outlet)
ASENTRY(lv1_set_spe_privilege_state_area_1_register)
mflr %r0
@@ -455,6 +486,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_set_spe_privilege_state_area_1_register)
ASENTRY(lv1_get_repository_node_value)
mflr %r0
@@ -473,6 +505,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_repository_node_value)
ASENTRY(lv1_read_htab_entries)
mflr %r0
@@ -500,6 +533,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_read_htab_entries)
ASENTRY(lv1_set_dabr)
mflr %r0
@@ -512,6 +546,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_set_dabr)
ASENTRY(lv1_allocate_io_segment)
mflr %r0
@@ -527,6 +562,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_allocate_io_segment)
ASENTRY(lv1_release_io_segment)
mflr %r0
@@ -539,6 +575,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_release_io_segment)
ASENTRY(lv1_construct_io_irq_outlet)
mflr %r0
@@ -554,6 +591,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_construct_io_irq_outlet)
ASENTRY(lv1_destruct_io_irq_outlet)
mflr %r0
@@ -566,6 +604,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_destruct_io_irq_outlet)
ASENTRY(lv1_map_htab)
mflr %r0
@@ -581,6 +620,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_map_htab)
ASENTRY(lv1_unmap_htab)
mflr %r0
@@ -593,6 +633,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_unmap_htab)
ASENTRY(lv1_get_version_info)
mflr %r0
@@ -608,6 +649,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_version_info)
ASENTRY(lv1_insert_htab_entry)
mflr %r0
@@ -630,6 +672,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_insert_htab_entry)
ASENTRY(lv1_read_virtual_uart)
mflr %r0
@@ -645,6 +688,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_read_virtual_uart)
ASENTRY(lv1_write_virtual_uart)
mflr %r0
@@ -660,6 +704,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_write_virtual_uart)
ASENTRY(lv1_set_virtual_uart_param)
mflr %r0
@@ -672,6 +717,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_set_virtual_uart_param)
ASENTRY(lv1_get_virtual_uart_param)
mflr %r0
@@ -687,6 +733,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_virtual_uart_param)
ASENTRY(lv1_configure_virtual_uart)
mflr %r0
@@ -702,6 +749,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_configure_virtual_uart)
ASENTRY(lv1_open_device)
mflr %r0
@@ -714,6 +762,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_open_device)
ASENTRY(lv1_close_device)
mflr %r0
@@ -726,6 +775,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_close_device)
ASENTRY(lv1_map_device_mmio_region)
mflr %r0
@@ -741,6 +791,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_map_device_mmio_region)
ASENTRY(lv1_unmap_device_mmio_region)
mflr %r0
@@ -753,6 +804,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_unmap_device_mmio_region)
ASENTRY(lv1_allocate_device_dma_region)
mflr %r0
@@ -768,6 +820,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_allocate_device_dma_region)
ASENTRY(lv1_free_device_dma_region)
mflr %r0
@@ -780,6 +833,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_free_device_dma_region)
ASENTRY(lv1_map_device_dma_region)
mflr %r0
@@ -792,6 +846,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_map_device_dma_region)
ASENTRY(lv1_unmap_device_dma_region)
mflr %r0
@@ -804,6 +859,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_unmap_device_dma_region)
ASENTRY(lv1_read_pci_config)
mflr %r0
@@ -819,6 +875,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_read_pci_config)
ASENTRY(lv1_write_pci_config)
mflr %r0
@@ -831,6 +888,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_write_pci_config)
ASENTRY(lv1_net_add_multicast_address)
mflr %r0
@@ -843,6 +901,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_add_multicast_address)
ASENTRY(lv1_net_remove_multicast_address)
mflr %r0
@@ -855,6 +914,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_remove_multicast_address)
ASENTRY(lv1_net_start_tx_dma)
mflr %r0
@@ -867,6 +927,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_start_tx_dma)
ASENTRY(lv1_net_stop_tx_dma)
mflr %r0
@@ -879,6 +940,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_stop_tx_dma)
ASENTRY(lv1_net_start_rx_dma)
mflr %r0
@@ -891,6 +953,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_start_rx_dma)
ASENTRY(lv1_net_stop_rx_dma)
mflr %r0
@@ -903,6 +966,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_stop_rx_dma)
ASENTRY(lv1_net_set_interrupt_status_indicator)
mflr %r0
@@ -915,6 +979,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_set_interrupt_status_indicator)
ASENTRY(lv1_net_set_interrupt_mask)
mflr %r0
@@ -927,6 +992,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_set_interrupt_mask)
ASENTRY(lv1_net_control)
mflr %r0
@@ -945,6 +1011,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_net_control)
ASENTRY(lv1_connect_interrupt_event_receive_port)
mflr %r0
@@ -957,6 +1024,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_connect_interrupt_event_receive_port)
ASENTRY(lv1_disconnect_interrupt_event_receive_port)
mflr %r0
@@ -969,6 +1037,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_disconnect_interrupt_event_receive_port)
ASENTRY(lv1_deconfigure_virtual_uart_irq)
mflr %r0
@@ -981,6 +1050,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_deconfigure_virtual_uart_irq)
ASENTRY(lv1_enable_logical_spe)
mflr %r0
@@ -993,6 +1063,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_enable_logical_spe)
ASENTRY(lv1_gpu_open)
mflr %r0
@@ -1005,6 +1076,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_open)
ASENTRY(lv1_gpu_close)
mflr %r0
@@ -1017,6 +1089,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_close)
ASENTRY(lv1_gpu_device_map)
mflr %r0
@@ -1035,6 +1108,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_device_map)
ASENTRY(lv1_gpu_device_unmap)
mflr %r0
@@ -1047,6 +1121,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_device_unmap)
ASENTRY(lv1_gpu_memory_allocate)
mflr %r0
@@ -1065,6 +1140,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_memory_allocate)
ASENTRY(lv1_gpu_memory_free)
mflr %r0
@@ -1077,6 +1153,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_memory_free)
ASENTRY(lv1_gpu_context_allocate)
mflr %r0
@@ -1104,6 +1181,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_context_allocate)
ASENTRY(lv1_gpu_context_free)
mflr %r0
@@ -1116,6 +1194,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_context_free)
ASENTRY(lv1_gpu_context_iomap)
mflr %r0
@@ -1128,6 +1207,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_context_iomap)
ASENTRY(lv1_gpu_context_attribute)
mflr %r0
@@ -1140,6 +1220,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_context_attribute)
ASENTRY(lv1_gpu_context_intr)
mflr %r0
@@ -1155,6 +1236,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_context_intr)
ASENTRY(lv1_gpu_attribute)
mflr %r0
@@ -1167,6 +1249,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_gpu_attribute)
ASENTRY(lv1_get_rtc)
mflr %r0
@@ -1185,6 +1268,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_get_rtc)
ASENTRY(lv1_storage_read)
mflr %r0
@@ -1200,6 +1284,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_storage_read)
ASENTRY(lv1_storage_write)
mflr %r0
@@ -1215,6 +1300,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_storage_write)
ASENTRY(lv1_storage_send_device_command)
mflr %r0
@@ -1230,6 +1316,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_storage_send_device_command)
ASENTRY(lv1_storage_get_async_status)
mflr %r0
@@ -1248,6 +1335,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_storage_get_async_status)
ASENTRY(lv1_storage_check_async_status)
mflr %r0
@@ -1263,6 +1351,7 @@
ld %r0,16(%r1)
mtlr %r0
blr
+ASEND(lv1_storage_check_async_status)
ASENTRY(lv1_panic)
mflr %r0
@@ -1275,4 +1364,4 @@
ld %r0,16(%r1)
mtlr %r0
blr
-
+ASEND(lv1_panic)
Index: head/sys/powerpc/pseries/phyp-hvcall.S
===================================================================
--- head/sys/powerpc/pseries/phyp-hvcall.S
+++ head/sys/powerpc/pseries/phyp-hvcall.S
@@ -47,6 +47,7 @@
ld %r0,16(%r1)
mtlr %r0
blr /* return r3 = status */
+ASEND(phyp_hcall)
/*
* PFT HV calls take a special ABI (see PAPR 14.5.4.1)
@@ -72,4 +73,4 @@
ld %r0,16(%r1)
mtlr %r0
blr /* return r3 = status */
-
+ASEND(phyp_pft_hcall)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 21, 1:14 AM (18 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15536875
Default Alt Text
D27387.diff (36 KB)
Attached To
Mode
D27387: Add CFI start/end proc directives to arm64, i386, and ppc
Attached
Detach File
Event Timeline
Log In to Comment