Changeset 26346bd in mainline for kernel/arch/mips32/src/asm.S
- Timestamp:
- 2013-03-30T18:26:17Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 582f4d28
- Parents:
- 0ca441c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/src/asm.S
r0ca441c r26346bd 57 57 nop 58 58 59 .global memset 60 .global memcpy 59 61 .global memcpy_from_uspace 60 62 .global memcpy_to_uspace 61 63 .global memcpy_from_uspace_failover_address 62 64 .global memcpy_to_uspace_failover_address 65 66 memset: 67 move $v0, $a0 68 beqz $a2, 0f 69 addiu $t1, $a2, -1 70 71 negu $t0, $a0 72 andi $t0, $t0, 0x3 73 sltu $v1, $a2, $t0 74 bnez $v1, 1f 75 andi $a1, $a1, 0xff 76 77 7: 78 sltiu $v1, $a2, 4 79 beqz $v1, 2f 80 move $v1, $v0 81 82 move $t0, $a2 83 84 3: 85 sb $a1, 0($v1) 86 addiu $v1, $v1, 1 87 subu $a3, $v1, $v0 88 sltu $a3, $a3, $t0 89 bnez $a3, 3b 90 addiu $t1, $t1, -1 91 92 beq $a2, $t0, 0f 93 subu $a2, $a2, $t0 94 95 8: 96 srl $a0, $a2, 0x2 97 sll $t4, $a0, 0x2 98 beqz $t4, 4f 99 sll $t2, $a1, 0x10 100 101 sll $t3, $a1, 0x8 102 or $t3, $a1, $t3 103 sll $a3, $a1, 0x18 104 or $t3, $t3, $t2 105 or $t3, $t3, $a3 106 addu $t0, $v0, $t0 107 move $a3, $zero 108 109 5: 110 addiu $a3, $a3, 1 111 sltu $t2, $a3, $a0 112 sw $t3, 0($t0) 113 bnez $t2, 5b 114 addiu $t0, $t0, 4 115 116 addu $v1, $v1, $t4 117 beq $a2, $t4, 0f 118 subu $t1, $t1, $t4 119 120 4: 121 addiu $t1, $t1, 1 122 addu $t1, $v1, $t1 123 sb $a1, 0($v1) 124 125 6: 126 addiu $v1, $v1, 1 127 bnel $v1, $t1, 6b 128 sb $a1, 0($v1) 129 130 0: 131 jr $ra 132 nop 133 134 1: 135 j 7b 136 move $t0, $a2 137 138 2: 139 bnez $t0, 3b 140 nop 141 142 j 8b 143 subu $a2, $a2, $t0 144 145 memcpy: 63 146 memcpy_from_uspace: 64 147 memcpy_to_uspace:
Note:
See TracChangeset
for help on using the changeset viewer.