/illumos-gate/usr/src/uts/sparc/ml/ |
H A D | sparc_ddi.S | 60 mov %o7, %g1; \ 62 mov %g1, %o7 106 ldn [%o0 + DEVI_DEV_OPS], %g1 ! dip->dev_ops 107 ldn [%g1 + DEVI_BUS_OPS], %g1 ! dip->dev_ops->devo_bus_ops 108 ldn [%g1 + OPS_CTL], %g1 ! dip->dev_ops->devo_bus_ops->bus_ctl 109 jmpl %g1, %g0 ! bop off to new routine 118 ldn [%o0 + DEVI_DEV_OPS], %g1 ! dip->dev_ops 119 ldn [%g1 + DEVI_BUS_OPS], %g1 ! dip->dev_ops->devo_bus_ops 120 ldn [%g1 + OPS_ALLOCHDL], %g1 122 jmpl %g1, %g0 ! bop off to new routine [all …]
|
/illumos-gate/usr/src/common/crypto/arcfour/sun4u/ |
H A D | arcfour_crypt_asm.S | 65 ldub [%i0+256], %g1 70 add %g1, 1, %o1 74 add %o1, 1, %g1 77 and %g1, 255, %g1 80 ldub [%i5 + %g1], %g3 91 subcc %o2, %g1, %g0 101 add %g1, 1, %o1 108 stb %g4, [%i5 + %g1] 109 add %o1, 1, %g1 114 and %g1, 255, %g1 [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/gen/ |
H A D | strncpy.S | 106 andn %i5, %i1, %g1 ! ~dword & 0x80808080 108 andcc %l0, %g1, %g0 ! ((dword - 0x01010101) & ~dword & 0x80808080) 117 srl %i1, 24, %g1 ! first byte 118 stb %g1, [%l0] ! store it 119 sub %g1, 1, %g1 ! byte == 0 ? -1 : byte - 1 120 sra %g1, 31, %g1 ! byte == 0 ? -1 : 0 121 andn %i1, %g1, %i1 ! if byte == 0, start padding with null bytes 122 srl %i1, 16, %g1 ! second byte 123 stb %g1, [%l0 + 1] ! store it 124 and %g1, 0xff, %g1 ! isolate byte [all …]
|
H A D | strlcpy.S | 84 andcc %l0, 3, %g1 ! word aligned? 92 andn %i5, %l1, %g1 ! ~word & 0x80808080 94 andcc %l0, %g1, %g0 ! doit 100 srl %l1, 24, %g1 ! 1st byte 101 andcc %g1, 0xff, %g0 ! test for end 103 stb %g1, [%i2] ! store byte 105 srl %l1, 16, %g1 ! 2nd byte 106 andcc %g1, 0xff, %g0 ! zero byte ? 108 stb %g1, [%i2] ! store byte 110 srl %l1, 8, %g1 ! 3rd byte [all …]
|
/illumos-gate/usr/src/lib/libc/sparcv9/gen/ |
H A D | strncpy.S | 101 cmp %g1, 3 ! dst offset of 3 or 7 103 cmp %g1, 2 ! dst halfword aligned ? 113 andn %o5, %o1, %g1 ! ~dword & 0x8080808080808080 115 andcc %g5, %g1, %g0 ! ((dword - 0x0101010101010101) & ~dword & 0x8080808080808080) 124 srlx %o1, 56, %g1 ! first byte 125 stb %g1, [%o3] ! store it 126 andcc %g1, 0xff, %g0 ! end of string ? 128 srlx %o1, 48, %g1 ! second byte 129 stb %g1, [%o3 + 1] ! store it 130 andcc %g1, 0xff, %g0 ! end of string ? [all …]
|
H A D | strlcpy.S | 93 cmp %g1, 3 ! dst offset of 3 or 7 95 cmp %g1, 2 ! dst halfword aligned ? 106 andn %i5, %l1, %g1 ! ~dword & 0x8080808080808080 108 andcc %l0, %g1, %g0 ! ((dword - 0x0101010101010101) & ~dword & 0x8080808080808080) 119 srlx %l1, 56, %g1 ! first byte 120 andcc %g1, 0xff, %g0 ! end of string ? 122 stb %g1, [%i2] ! store it 124 srlx %l1, 48, %g1 ! second byte 125 andcc %g1, 0xff, %g0 ! end of string ? 127 stb %g1, [%i2] ! store it [all …]
|
H A D | strcpy.S | 72 sub %g0, %o1, %g1 ! %g1<2:0> = # of unaligned bytes 80 andcc %g1, 2, %g0 ! need to copy half-word ? 94 andcc %g1, 4, %g0 ! need to copy word ? 135 andn %o5, %o1, %g1 ! ~dword & 0x8080808080808080 137 andcc %g4, %g1, %g0 ! ((dword - 0x0101010101010101) & ~dword & 0x8080808080808080) 187 andn %o5, %o1, %g1 ! ~x & 0x8080808080808080 189 andcc %g4, %g1, %g0 ! ((x - 0x0101010101010101) & ~x & 0x8080808080808080) 191 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now 192 stb %g1, [%o2 - 8] ! store first byte 193 srlx %o1, 24, %g1 ! %g1<31:0> = bytes 2, 3, 4, 5 [all …]
|
/illumos-gate/usr/src/uts/common/io/nxge/ |
H A D | nxge_hcall.S | 106 mov %o2, %g1 110 stx %o1, [%g1] 131 mov %o2, %g1 135 stx %o1, [%g1] 145 mov %o2, %g1 149 stw %o1, [%g1] 167 mov %o1, %g1 171 stx %o1, [%g1] 180 mov %o1, %g1 184 stx %o1, [%g1] [all …]
|
/illumos-gate/usr/src/lib/libc/sparcv9/crt/ |
H A D | __align_cpy_4.S | 68 mov %o0, %g1 ! 8-byte aligned. 74 st %o3, [%g1] 76 add %g1, 4, %g1 94 stx %o3, [%g1] 95 stx %o4, [%g1+8] 98 add %g1, 16, %g1 111 stx %o3, [%g1] 113 add %g1, 8, %g1 122 st %o3, [%g1] 149 st %o2, [%g1] [all …]
|
/illumos-gate/usr/src/uts/sun4v/ml/ |
H A D | trap_table.S | 122 set trap, %g1 ;\ 132 mov PTL1_BAD_TRAP, %g1 ;\ 156 set trap, %g1 ;\ 176 set (which), %g1 ;\ 222 rdpr %tstate, %g1 ;\ 223 btst TSTATE_PRIV, %g1 ;\ 226 set trap, %g1 ;\ 237 set dtrace_pid_probe, %g1 ;\ 244 set dtrace_return_probe, %g1 ;\ 324 mov 4, %g1 ;\ [all …]
|
H A D | mach_xc.S | 59 rdpr %tnpc, %g1 60 wrpr %g1, %tpc ! PC <- TNPC[TL] 61 add %g1, 4, %g1 62 wrpr %g1, %tnpc ! nPC <- TNPC[TL] + 4 87 mov %o1, %g1 95 rdpr %pstate, %g1 96 andn %g1, PSTATE_IE | PSTATE_AM, %g2 113 stxa %g1, [%g3 + TRAP_ENT_TSTATE]%asi /* tstate = pstate */ 163 wrpr %g0, %g1, %pstate /* enable interrupts */ 176 CPU_ADDR(%g1, %g4) ! load CPU struct addr [all …]
|
H A D | mach_interrupt.S | 54 ! %g1 arg 1 68 CPU_ADDR(%g1,%g2) 69 add %g1, CPU_MCPU, %g2 415 set process_resumable_error, %g1 439 set rq_overflow, %g1 476 CPU_PADDR(%g1, %g4) ! %g1 = cpu struct paddr 479 ldxa [%g1 + %g4]ASI_MEM, %g4 ! %g4 = queue base PA 491 ldxa [%g4 + %g5]ASI_MEM, %g1 492 stxa %g1, [%g7 + %g5]ASI_MEM ! byte 0 - 7 494 ldxa [%g4 + %g5]ASI_MEM, %g1 [all …]
|
/illumos-gate/usr/src/uts/sun4u/ml/ |
H A D | trap_table.S | 121 set trap, %g1 ;\ 151 set trap, %g1 ;\ 171 set (which), %g1 ;\ 193 set trap, %g1 ;\ 229 rdpr %tstate, %g1 ;\ 230 btst TSTATE_PRIV, %g1 ;\ 233 set trap, %g1 ;\ 244 set dtrace_pid_probe, %g1 ;\ 251 set dtrace_return_probe, %g1 ;\ 331 mov 4, %g1 ;\ [all …]
|
H A D | mach_interrupt.S | 77 mov MMU_PCONTEXT, %g1 78 ldxa [%g1]ASI_DMMU, %g1 79 srlx %g1, CTXREG_NEXT_SHIFT, %g3 83 btst %g4, %g1 86 xor %g3, %g1, %g3 ! user: clr N_pgsz0/1 bits 88 set DEMAP_ALL_TYPE, %g1 89 stxa %g0, [%g1]ASI_DTLB_DEMAP 90 stxa %g0, [%g1]ASI_ITLB_DEMAP 91 mov MMU_PCONTEXT, %g1 92 stxa %g3, [%g1]ASI_DMMU [all …]
|
/illumos-gate/usr/src/uts/sparc/v9/ml/ |
H A D | ddi_v9_asm.S | 73 ldn [%o0 + AHI_GET8], %g1 /* hdl->ahi_get8 access hndl */ 74 jmpl %g1, %g0 /* jump to access handle routine */ 90 ldn [%o0 + AHI_GET16], %g1 /* hdl->ahi_get16 access hndl */ 91 jmpl %g1, %g0 /* jump to access handle routine */ 109 ldn [%o0 + AHI_GET32], %g1 /* hdl->ahi_get32 access handle */ 110 jmpl %g1, %g0 /* jump to access handle routine */ 128 ldn [%o0 + AHI_GET64], %g1 /* hdl->ahi_get64 access handle */ 129 jmpl %g1, %g0 /* jump to access handle routine */ 147 ldn [%o0 + AHI_PUT8], %g1 /* hdl->ahi_put8 access handle */ 148 jmpl %g1, %g0 /* jump to access handle routine */ [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/sys/ |
H A D | syscall.S | 56 ldn [%fp + STACK_BIAS + MINFRAME + CLONGSIZE], %g1 58 stn %g1, [%sp + STACK_BIAS + MINFRAME] ! arg 6 60 ldn [%fp + STACK_BIAS + MINFRAME + 2*CLONGSIZE], %g1 62 stn %g1, [%sp + STACK_BIAS + MINFRAME + CLONGSIZE] ! arg 7 64 mov %i0, %g1 ! sysnum 82 mov %o0, %g1 /* sysnum */ 101 ldn [%fp + STACK_BIAS + MINFRAME + 2*CLONGSIZE], %g1 103 stn %g1, [%sp + STACK_BIAS + MINFRAME] ! arg 6 105 ldn [%fp + STACK_BIAS + MINFRAME + 3*CLONGSIZE], %g1 106 stn %g1, [%sp + STACK_BIAS + MINFRAME + CLONGSIZE] ! arg7 [all …]
|
/illumos-gate/usr/src/uts/sun4u/io/px/ |
H A D | px_asm_4u.S | 63 movz %xcc, ASI_IOL, %g1 ! Big/little endian physical space 64 movnz %xcc, ASI_IO, %g1 65 mov %g1, %asi 70 ldxa [%o1]%asi, %g1 72 stx %g1, [%o2] 77 lduwa [%o1]%asi, %g1 79 stuw %g1, [%o2] 84 lduha [%o1]%asi, %g1 86 stuh %g1, [%o2] 89 lduba [%o1]%asi, %g1 ! 8-bit! [all …]
|
/illumos-gate/usr/src/uts/sfmmu/ml/ |
H A D | sfmmu_asm.S | 508 PANIC_IF_INTR_DISABLED_PSTR(%o0, sfmmu_di_l0, %g1) 546 sethi %hi(ksfmmup), %g1 547 ldx [%g1 + %lo(ksfmmup)], %g1 548 cmp %g1, %o0 552 sethi %hi(panicstr), %g1 ! if kernel as, panic 553 ldx [%g1 + %lo(panicstr)], %g1 554 tst %g1 567 PANIC_IF_INTR_ENABLED_PSTR(sfmmu_ei_l1, %g1) 570 mov %o3, %g1 ! save sfmmu pri/sh flag in %g1 591 sethi %hi(panicstr), %g1 ! test if panicstr is already set [all …]
|
/illumos-gate/usr/src/uts/sun4u/io/ |
H A D | panther_asm.S | 159 UNPARK_SIBLING_CORE(%g1, %o3, %o4) ! 7 instructions 163 stxa %g1, [%g0]ASI_DCU 237 andn %o2, PSTATE_IE, %g1 238 wrpr %g0, %g1, %pstate ! disable interrupts 243 ldxa [%g0]ASI_DCU, %g1 ! save DCU in %g1 244 andn %g1, %o3, %g4 247 PARK_SIBLING_CORE(%g1, %o3, %o4) ! %g1 has DCU value 293 andn %o2, PSTATE_IE, %g1 294 wrpr %g0, %g1, %pstate ! disable interrupts 299 ldxa [%g0]ASI_DCU, %g1 ! save DCU in %g1 [all …]
|
/illumos-gate/usr/src/uts/sun4u/io/pci/ |
H A D | pci_asm.S | 62 movz %xcc, ASI_IOL, %g1 ! Big/little endian physical space 63 movnz %xcc, ASI_IO, %g1 64 mov %g1, %asi 69 ldxa [%o1]%asi, %g1 71 stx %g1, [%o2] 76 lduwa [%o1]%asi, %g1 78 stuw %g1, [%o2] 83 lduha [%o1]%asi, %g1 85 stuh %g1, [%o2] 88 lduba [%o1]%asi, %g1 ! 8-bit! [all …]
|
/illumos-gate/usr/src/uts/sun4u/cpu/ |
H A D | opl_olympus_asm.S | 77 PANIC_IF_INTR_DISABLED_PSTR(%o5, opl_di_l3, %g1) 111 SFMMU_CPU_CNUM(%o1, %g1, %g2) ! %g1 = sfmmu cnum on this CPU 115 or %g1, %o4, %g1 ! %g1 = primary pgsz | cnum 123 or %g1, %o1, %g1 ! %g1 = nucleus pgsz | primary pgsz | cnum 124 stxa %g1, [%o4]ASI_DMMU ! wr new ctxum 142 set DEMAP_ALL_TYPE, %g1 143 stxa %g0, [%g1]ASI_DTLB_DEMAP 144 stxa %g0, [%g1]ASI_ITLB_DEMAP 161 srln %g1, MMU_PAGESHIFT, %g1 167 slln %g1, MMU_PAGESHIFT, %g1 /* g1 = vaddr */ [all …]
|
H A D | us3_common_asm.S | 183 PANIC_IF_INTR_DISABLED_PSTR(%o5, u3_di_label0, %g1) 217 SFMMU_CPU_CNUM(%o1, %g1, %g2) ! %g1 = sfmmu cnum on this CPU 221 or %g1, %o4, %g1 ! %g1 = primary pgsz | cnum 229 or %g1, %o1, %g1 ! %g1 = nucleus pgsz | primary pgsz | cnum 230 stxa %g1, [%o4]ASI_DMMU ! wr new ctxum 247 set DEMAP_ALL_TYPE, %g1 248 stxa %g0, [%g1]ASI_DTLB_DEMAP 249 stxa %g0, [%g1]ASI_ITLB_DEMAP 266 srln %g1, MMU_PAGESHIFT, %g1 272 slln %g1, MMU_PAGESHIFT, %g1 /* g1 = vaddr */ [all …]
|
/illumos-gate/usr/src/uts/sun4v/cpu/ |
H A D | common_asm.S | 89 mov 1, %g1 90 sllx %g1, TICKINT_DIS_SHFT, %o0 122 RD_TICKCMPR(%g1,%o0,%o1,__LINE__) 124 srlx %g1, TICKINT_DIS_SHFT, %o0 176 GET_HRTIME(%g1,%o0,%o1,%o2,%o3,%o4,%o5,%g2,__LINE__) 177 ! %g1 = hrtime 179 mov %g1, %o0 183 GET_NATIVE_TIME(%g1,%o2,%o3,__LINE__) ! %g1 = native time 185 mov %g1, %o0 190 GET_NATIVE_TIME(%g1,%o2,%o3,__LINE__) ! %g1 = native time [all …]
|
/illumos-gate/usr/src/common/atomic/sparcv9/ |
H A D | atomic.S | 213 xor %o4, 0x3, %g1 ! %g1 = byte offset, right-to-left 214 sll %g1, 3, %g1 ! %g1 = bit offset, right-to-left 216 sll %o3, %g1, %o3 ! %o3 = shifted to bit offset 217 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset 233 srl %o5, %g1, %o0 ! %o0 = new value 285 xor %o4, 0x2, %g1 ! %g1 = byte offset, right-to-left 287 sll %g1, 3, %g1 ! %g1 = bit offset, right-to-left 290 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset 307 srl %o5, %g1, %o0 ! %o0 = new value 454 xor %o4, 0x3, %g1 ! %g1 = byte offset, right-to-left [all …]
|
/illumos-gate/usr/src/common/atomic/sparc/ |
H A D | atomic.S | 92 xor %o4, 0x3, %g1 ! %g1 = byte offset, right-to-left 93 sll %g1, 3, %g1 ! %g1 = bit offset, right-to-left 95 sll %o3, %g1, %o3 ! %o3 = shifted to bit offset 96 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset 112 srl %o5, %g1, %o0 ! %o0 = new value 164 xor %o4, 0x2, %g1 ! %g1 = byte offset, right-to-left 166 sll %g1, 3, %g1 ! %g1 = bit offset, right-to-left 169 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset 186 srl %o5, %g1, %o0 ! %o0 = new value 329 xor %o4, 0x3, %g1 ! %g1 = byte offset, right-to-left [all …]
|