Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F135663658
D27387.id80044.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
26 KB
Referenced Files
None
Subscribers
None
D27387.id80044.diff
View Options
Index: sys/arm64/include/asm.h
===================================================================
--- sys/arm64/include/asm.h
+++ 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: sys/arm64/linux/linux_locore.asm
===================================================================
--- sys/arm64/linux/linux_locore.asm
+++ 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: sys/arm64/linux/linux_support.s
===================================================================
--- sys/arm64/linux/linux_support.s
+++ 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: sys/crypto/des/arch/i386/des_enc.S
===================================================================
--- sys/crypto/des/arch/i386/des_enc.S
+++ 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: sys/i386/bios/smapi_bios.S
===================================================================
--- sys/i386/bios/smapi_bios.S
+++ sys/i386/bios/smapi_bios.S
@@ -38,3 +38,4 @@
leave
ret
+END(smapi32)
Index: sys/i386/include/asm.h
===================================================================
--- sys/i386/include/asm.h
+++ 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: sys/powerpc/aim/locore.S
===================================================================
--- sys/powerpc/aim/locore.S
+++ sys/powerpc/aim/locore.S
@@ -13,3 +13,4 @@
ENTRY(get_spr)
mfspr %r3, 0
blr
+END(get_spr)
Index: sys/powerpc/aim/locore64.S
===================================================================
--- sys/powerpc/aim/locore64.S
+++ 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: sys/powerpc/aim/trap_subr64.S
===================================================================
--- sys/powerpc/aim/trap_subr64.S
+++ 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: sys/powerpc/booke/locore.S
===================================================================
--- sys/powerpc/booke/locore.S
+++ 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: sys/powerpc/booke/trap_subr.S
===================================================================
--- sys/powerpc/booke/trap_subr.S
+++ 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: sys/powerpc/include/asm.h
===================================================================
--- sys/powerpc/include/asm.h
+++ 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: sys/powerpc/mambo/mambocall.S
===================================================================
--- sys/powerpc/mambo/mambocall.S
+++ sys/powerpc/mambo/mambocall.S
@@ -36,4 +36,4 @@
*/
.long 0x000EAEB0
blr
-
+ASEND(mambocall)
Index: sys/powerpc/ofw/ofwcall32.S
===================================================================
--- sys/powerpc/ofw/ofwcall32.S
+++ 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: sys/powerpc/ofw/ofwcall64.S
===================================================================
--- sys/powerpc/ofw/ofwcall64.S
+++ 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: sys/powerpc/powernv/opalcall.S
===================================================================
--- sys/powerpc/powernv/opalcall.S
+++ sys/powerpc/powernv/opalcall.S
@@ -129,4 +129,4 @@
/* And return */
blr
-
+ASEND(opal_call)
Index: sys/powerpc/powerpc/cpu_subr64.S
===================================================================
--- sys/powerpc/powerpc/cpu_subr64.S
+++ sys/powerpc/powerpc/cpu_subr64.S
@@ -96,3 +96,4 @@
bne 2b
nap
b .
+END(enter_idle_powerx)
Index: sys/powerpc/powerpc/setjmp.S
===================================================================
--- sys/powerpc/powerpc/setjmp.S
+++ 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: sys/powerpc/powerpc/support.S
===================================================================
--- sys/powerpc/powerpc/support.S
+++ 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: sys/powerpc/powerpc/swtch32.S
===================================================================
--- sys/powerpc/powerpc/swtch32.S
+++ 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: sys/powerpc/powerpc/swtch64.S
===================================================================
--- sys/powerpc/powerpc/swtch64.S
+++ 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: sys/powerpc/ps3/ps3-hvcall.S
===================================================================
--- sys/powerpc/ps3/ps3-hvcall.S
+++ 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: sys/powerpc/pseries/phyp-hvcall.S
===================================================================
--- sys/powerpc/pseries/phyp-hvcall.S
+++ 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
Wed, Nov 12, 5:23 PM (18 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25221900
Default Alt Text
D27387.id80044.diff (26 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