Changeset 94d614e in mainline for kernel/arch/sparc64/src/asm.S
- Timestamp:
- 2006-07-13T17:32:38Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a5f76758
- Parents:
- 63cda71
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/asm.S
r63cda71 r94d614e 43 43 memcpy_from_uspace: 44 44 memcpy_to_uspace: 45 .register %g2, #scratch 46 .register %g3, #scratch 47 add %o1, 7, %g1 48 and %g1, -8, %g1 49 cmp %o1, %g1 50 be,pn %xcc, 3f 51 add %o0, 7, %g1 52 mov 0, %g3 53 0: 54 brz,pn %o2, 2f 55 mov 0, %g2 56 1: 57 ldub [%g3 + %o1], %g1 58 add %g2, 1, %g2 59 cmp %o2, %g2 60 stb %g1, [%g3 + %o0] 61 bne,pt %xcc, 1b 62 mov %g2, %g3 63 2: 64 jmp %o7 + 8 ! exit point 65 mov %o1, %o0 66 3: 67 and %g1, -8, %g1 68 cmp %o0, %g1 69 bne,pt %xcc, 0b 70 mov 0, %g3 71 srlx %o2, 3, %g4 72 brz,pn %g4, 5f 73 mov 0, %g5 74 4: 75 sllx %g3, 3, %g2 76 add %g5, 1, %g3 77 ldx [%o1 + %g2], %g1 78 mov %g3, %g5 79 cmp %g4, %g3 80 bne,pt %xcc, 4b 81 stx %g1, [%o0 + %g2] 82 5: 83 and %o2, 7, %o2 84 brz,pn %o2, 2b 85 sllx %g4, 3, %g1 86 mov 0, %g2 87 add %g1, %o0, %o0 88 add %g1, %o1, %g4 89 mov 0, %g3 90 6: 91 ldub [%g2 + %g4], %g1 92 stb %g1, [%g2 + %o0] 93 add %g3, 1, %g2 94 cmp %o2, %g2 95 bne,pt %xcc, 6b 96 mov %g2, %g3 45 97 46 b _memcpy47 nop98 jmp %o7 + 8 ! exit point 99 mov %o1, %o0 48 100 49 101 memcpy_from_uspace_failover_address: 50 102 memcpy_to_uspace_failover_address: 51 b memcpy_from_uspace_failover_address52 nop103 jmp %o7 + 8 ! exit point 104 mov %g0, %o0 ! return 0 on failure 53 105 54 106 memsetb: 55 107 b _memsetb 56 108 nop 57 58 .global ofw59 ofw:60 save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp61 set ofw_cif, %l062 ldx [%l0], %l063 64 rdpr %pstate, %l165 and %l1, ~PSTATE_AM_BIT, %l266 wrpr %l2, 0, %pstate67 68 jmpl %l0, %o769 mov %i0, %o070 71 wrpr %l1, 0, %pstate72 73 ret74 restore %o0, 0, %o0
Note:
See TracChangeset
for help on using the changeset viewer.