microblaze: Add .type and .size to ASM functions
Cachegrind analysis need this fix to be able to log asm functions. Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
parent
e84452dd9f
commit
13851966da
3 changed files with 22 additions and 1 deletions
|
@ -26,6 +26,7 @@
|
||||||
* We avoid flushing the pinned 0, 1 and possibly 2 entries.
|
* We avoid flushing the pinned 0, 1 and possibly 2 entries.
|
||||||
*/
|
*/
|
||||||
.globl _tlbia;
|
.globl _tlbia;
|
||||||
|
.type _tlbia, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
_tlbia:
|
_tlbia:
|
||||||
addik r12, r0, 63 /* flush all entries (63 - 3) */
|
addik r12, r0, 63 /* flush all entries (63 - 3) */
|
||||||
|
@ -41,11 +42,13 @@ _tlbia_1:
|
||||||
/* sync */
|
/* sync */
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
.size _tlbia, . - _tlbia
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flush MMU TLB for a particular address (in r5)
|
* Flush MMU TLB for a particular address (in r5)
|
||||||
*/
|
*/
|
||||||
.globl _tlbie;
|
.globl _tlbie;
|
||||||
|
.type _tlbie, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
_tlbie:
|
_tlbie:
|
||||||
mts rtlbsx, r5 /* look up the address in TLB */
|
mts rtlbsx, r5 /* look up the address in TLB */
|
||||||
|
@ -59,10 +62,13 @@ _tlbie_1:
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.size _tlbie, . - _tlbie
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allocate TLB entry for early console
|
* Allocate TLB entry for early console
|
||||||
*/
|
*/
|
||||||
.globl early_console_reg_tlb_alloc;
|
.globl early_console_reg_tlb_alloc;
|
||||||
|
.type early_console_reg_tlb_alloc, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
early_console_reg_tlb_alloc:
|
early_console_reg_tlb_alloc:
|
||||||
/*
|
/*
|
||||||
|
@ -86,6 +92,8 @@ early_console_reg_tlb_alloc:
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copy a whole page (4096 bytes).
|
* Copy a whole page (4096 bytes).
|
||||||
*/
|
*/
|
||||||
|
@ -104,6 +112,7 @@ early_console_reg_tlb_alloc:
|
||||||
#define DCACHE_LINE_BYTES (4 * 4)
|
#define DCACHE_LINE_BYTES (4 * 4)
|
||||||
|
|
||||||
.globl copy_page;
|
.globl copy_page;
|
||||||
|
.type copy_page, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
copy_page:
|
copy_page:
|
||||||
ori r11, r0, (PAGE_SIZE/DCACHE_LINE_BYTES) - 1
|
ori r11, r0, (PAGE_SIZE/DCACHE_LINE_BYTES) - 1
|
||||||
|
@ -118,3 +127,5 @@ _copy_page_loop:
|
||||||
addik r11, r11, -1
|
addik r11, r11, -1
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.size copy_page, . - copy_page
|
||||||
|
|
|
@ -30,8 +30,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
|
.text
|
||||||
.globl memcpy
|
.globl memcpy
|
||||||
|
.type memcpy, @function
|
||||||
.ent memcpy
|
.ent memcpy
|
||||||
|
|
||||||
memcpy:
|
memcpy:
|
||||||
|
@ -345,9 +346,11 @@ a_done:
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.size memcpy, . - memcpy
|
||||||
.end memcpy
|
.end memcpy
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
.globl memmove
|
.globl memmove
|
||||||
|
.type memmove, @function
|
||||||
.ent memmove
|
.ent memmove
|
||||||
|
|
||||||
memmove:
|
memmove:
|
||||||
|
@ -659,4 +662,5 @@ d_done:
|
||||||
rtsd r15, 8
|
rtsd r15, 8
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.size memmove, . - memmove
|
||||||
.end memmove
|
.end memmove
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.globl __strncpy_user;
|
.globl __strncpy_user;
|
||||||
|
.type __strncpy_user, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
__strncpy_user:
|
__strncpy_user:
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ __strncpy_user:
|
||||||
3:
|
3:
|
||||||
rtsd r15,8
|
rtsd r15,8
|
||||||
nop
|
nop
|
||||||
|
.size __strncpy_user, . - __strncpy_user
|
||||||
|
|
||||||
|
|
||||||
.section .fixup, "ax"
|
.section .fixup, "ax"
|
||||||
|
@ -72,6 +74,7 @@ __strncpy_user:
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.globl __strnlen_user;
|
.globl __strnlen_user;
|
||||||
|
.type __strnlen_user, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
__strnlen_user:
|
__strnlen_user:
|
||||||
addik r3,r6,0
|
addik r3,r6,0
|
||||||
|
@ -90,6 +93,7 @@ __strnlen_user:
|
||||||
3:
|
3:
|
||||||
rtsd r15,8
|
rtsd r15,8
|
||||||
nop
|
nop
|
||||||
|
.size __strnlen_user, . - __strnlen_user
|
||||||
|
|
||||||
|
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
|
@ -108,6 +112,7 @@ __strnlen_user:
|
||||||
*/
|
*/
|
||||||
.text
|
.text
|
||||||
.globl __copy_tofrom_user;
|
.globl __copy_tofrom_user;
|
||||||
|
.type __copy_tofrom_user, @function
|
||||||
.align 4;
|
.align 4;
|
||||||
__copy_tofrom_user:
|
__copy_tofrom_user:
|
||||||
/*
|
/*
|
||||||
|
@ -129,6 +134,7 @@ __copy_tofrom_user:
|
||||||
3:
|
3:
|
||||||
rtsd r15,8
|
rtsd r15,8
|
||||||
nop
|
nop
|
||||||
|
.size __copy_tofrom_user, . - __copy_tofrom_user
|
||||||
|
|
||||||
|
|
||||||
.section __ex_table,"a"
|
.section __ex_table,"a"
|
||||||
|
|
Loading…
Add table
Reference in a new issue