Datasets:
id stringlengths 22 129 | text stringlengths 60 19.5k | arch stringclasses 9
values | syntax stringclasses 5
values | kind stringclasses 4
values | repo stringclasses 32
values | path stringlengths 7 108 | license stringclasses 10
values | commit stringlengths 40 40 | source_host stringclasses 1
value | category stringclasses 15
values | source_url stringlengths 85 192 | line_start int64 1 5.48k | line_end int64 4 5.5k |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NetBSD/src:sys/arch/powerpc/powerpc/ofwmagic.S:2 | .long 8
# note descriptor size
.long 24
# note type (IEEE 1275)
.long 0x1275
# name of owner
.asciz "PowerPC"
.balign 4
# note descriptor
# real mode (-1) or virtual mode (0)
.long 0
# real-base
.long -1
# real-size
.long -1
# virt-base
.long -1
# virt-size
.long -1
# load-base
.long 0x4000
... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwmagic.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwmagic.S | 41 | 95 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwmagic.S:3 | # lpar affinity
.long 0
# minimum size in megabytes
.long 64
# minimum percentage size
.long 0
# max pft size ( 2^48 bytes )
.long 48
# splpar
.long 1
# min load ?
.long -1
# new mem def ?
.long 0 | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwmagic.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwmagic.S | 81 | 95 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:2 | * accessed by the client.
*
* TODO: handle set-callback specially
*/
#include <machine/psl.h>
#include <machine/trap.h>
#include <machine/asm.h>
#define CACHELINE 32 /* Note that this value is really
hardwired */
.data
ofentry:
.long 0 /* actual entry to firmware in
virtual mode */
#define B... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:3 | firmware */
addi %r3,%r3,fwsave@l
bl savemmu
lis %r5,fwentry@ha /* get new firmware entry */
addi %r5,%r5,fwentry@l
mr %r6,%r13 /* restore args pointer */
mr %r7,%r12 /* restore args length */
mtlr %r31 /* restore return address */
blr
/*
* Emulated firmware entry.
*/
fwentry:
mflr %r0 /* save retu... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 81 | 140 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:4 | isync
lwz %r3,8(%r1) /* restore arg */
blrl /* do actual firmware call */
stw %r3,8(%r1) /* save return value */
lwz %r4,12(%r1) /* get saved MSR */
mtmsr %r4
isync
lis %r3,fwsave@ha /* save mmu values of firmware */
addi %r3,%r3,fwsave@l /* (might not be necessary, but... */
bl savemmu
lis %r3,cls... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 121 | 180 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:5 | stw %r4,16(%r3)
mfibatu %r4,2
stw %r4,20(%r3)
mfibatl %r4,3
stw %r4,24(%r3)
mfibatu %r4,3
stw %r4,28(%r3)
mfdbatl %r4,0
stw %r4,32(%r3)
mfdbatu %r4,0
stw %r4,36(%r3)
mfdbatl %r4,1
stw %r4,40(%r3)
mfdbatu %r4,1
stw %r4,44(%r3)
mfdbatl %r4,2
stw %r4,48(%r3)
mfdbatu %r4,2
stw %r4,52(%r3)
mfdbatl %r4,3
... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 161 | 220 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:6 | mfsdr1 %r4 /* save SDR1 */
stw %r4,20(%r3)
addi %r4,%r3,24
mflr %r11
li %r3,EXC_DSI /* save DSI/ISI trap vectors */
li %r5,SI1SIZE
bl copy
mtlr %r11
li %r3,EXC_IMISS /* save MISS trap vectors */
li %r5,SI2SIZE
copy:
li %r6,CACHELINE
1:
lwz %r7,0(%r3)
lwz %r8,4(%r3)
lwz %r9,8(%r3)
lwz %r10,12(%r3)
... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 201 | 260 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:7 | dcbst 0,%r4
icbi 0,%r4
sync
isync
blr
/*
* Restore everything related to the mmu from the saveare pointed to by r3.
*/
restoremmu:
mfmsr %r12
andi. %r4,%r12,~(PSL_IR|PSL_DR)@l
mtmsr %r4 /* Disable MMU */
isync
li %r4,0 /* first, invalidate BATs */
mtibatu 0,%r4
mtibatu 1,%r4
mtibatu 2,%r4
mtibatu... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 241 | 300 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:8 | mtibatl 3,%r4
lwz %r4,28(%r3)
mtibatu 3,%r4
lwz %r4,32(%r3)
mtdbatl 0,%r4
lwz %r4,36(%r3)
mtdbatu 0,%r4
lwz %r4,40(%r3)
mtdbatl 1,%r4
lwz %r4,44(%r3)
mtdbatu 1,%r4
lwz %r4,48(%r3)
mtdbatl 2,%r4
lwz %r4,52(%r3)
mtdbatu 2,%r4
lwz %r4,56(%r3)
mtdbatl 3,%r4
lwzu %r4,60(%r3)
mtdbatu 3,%r4
li %r4,0 /* r... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 281 | 340 |
NetBSD/src:sys/arch/powerpc/powerpc/ofwreal.S:9 | 1:
subf. %r4,%r5,%r4
tlbie %r4
bne 1b
sync
tlbsync
sync
lwz %r4,20(%r3)
sync
mtsdr1 %r4 /* restore SDR1 */
addi %r3,%r3,24
mflr %r11
li %r4,EXC_DSI /* restore DSI/ISI trap vectors */
li %r5,SI1SIZE
bl copy
li %r4,EXC_IMISS /* restore MISS trap vectors */
li %r5,SI2SIZE
bl copy
/* tlbia */
sy... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/ofwreal.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/ofwreal.S | 321 | 359 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:2 | */
#ifdef DEBUG
#define DBGSYNC sync
#else
#define DBGSYNC /* nothing */
#endif
#undef DBGSYNC
#if defined(PPC_IBM4XX) && !defined(PPC_IBM440)
#define DBGSYNC /* nothing; eieio is implemented as sync */
#else
#define DBGSYNC msync
#endif
#define eieio mbar 0
/* LINTSTUB: include <sys/param.h> */
/* LINTSTUB: include ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:3 | ENTRY(out16)
sth %r4,0(%r3)
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bsw2_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int16_t v) */
/* LINTSTUB: Func: void bsw2(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 81 | 140 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:4 | /* LINTSTUB: Func: void bsw8(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int64_t v) */
ENTRY(bsw8_s)
lwz %r0,0(%r3) /* get log2(stride) */
rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsw8)
#ifdef __ARCH64__
stdx %r6,%r4,%r5 /* store value */
#else
trap /* die */
#endif
eieio /* memory barrier (reor... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 121 | 180 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:5 | DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bsw4rb_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int32_t v) */
/* LINTSTUB: Func: void bsw4rb(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int32_t v) */
ENTRY(bsw4rb_s)
lwz %r0,0(%r3) /* get log2(stride) */
rot... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 161 | 220 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:6 | /* LINTSTUB: Func: int bsr1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o) */
ENTRY(bsr1_s)
lwz %r0,0(%r3) /* get log2(stride) */
rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsr1)
lbzx %r3,%r4,%r5 /* load value */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 201 | 260 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:7 | /* LINTSTUB: Func: int bsr4(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o) */
ENTRY(bsr4_s)
lwz %r0,0(%r3) /* get log2(stride) */
rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsr4)
lwzx %r3,%r4,%r5 /* load value */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 241 | 300 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:8 | rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsr2rb)
lhbrx %r3,%r4,%r5 /* load value */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: int in32rb(const volatile u_int32_t *a) */
ENTRY(in32rb)
lwbrx %r3,0,%r3
eieio /* memory barrier (reord... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 281 | 340 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:9 | DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bswm1_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int8_t *addr, bus_size_t len) */
/* LINTSTUB: Func: void bswm1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int8_t *addr, bus_size_t len) */
/* LINTSTUB:... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 321 | 380 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:10 | cmpwi %r5,0 /* len == 0? */
beqlr- /* return if len == 0 */
addi %r5,%r5,-1 /* len -= 1 */
slwi %r5,%r5,1 /* len *= 2 */
add %r5,%r5,%r4 /* len += src */
addi %r4,%r4,-2 /* pre-decrement */
1: lhzu %r0,2(%r4) /* load and increment */
sth %r0,0(%r3) /* store */
cmplw %r4,%r5 /* at the end? */
bne+ 1b /* ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 361 | 420 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:11 | /* LINTSTUB: Func: void bswm8_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *addr, bus_size_t len) */
/* LINTSTUB: Func: void bswm8(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *addr, bus_size_t len) */
#ifdef _LP64
ENTRY(bswm8_s)
ld %r0,0(%r3) /* get log2(stride) ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 401 | 460 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:12 | mr %r4,%r6 /* move addr to argument 1 register */
mr %r5,%r7 /* move count to argument 2 register */
ENTRY(outs16rb)
cmpwi %r5,0 /* len == 0? */
beqlr- /* return if len == 0 */
addi %r5,%r5,-1 /* len -= 1 */
slwi %r5,%r5,1 /* len *= 2 */
add %r5,%r5,%r4 /* len += src */
addi %r4,%r4,-2 /* pre-decrement */... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 441 | 500 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:13 | DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bswm8rb_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *addr, bus_size_t len) */
/* LINTSTUB: Func: void bswm8rb(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *addr, bus_size_t len) */
ENTRY(... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 481 | 540 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:14 | rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsrm2)
add %r3,%r4,%r5 /* add offset to handle & place in argument 0 */
mr %r4,%r6 /* move addr to argument 1 register */
mr %r5,%r7 /* move count to argument 2 register */
ENTRY(ins16)
cmpwi %r5,0 /* len == 0? */
beqlr- /* return if len == 0 */
addi %r5,%r5,-1 /*... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 521 | 580 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:15 | cmplw %r4,%r5 /* at the end? */
bne+ 1b /* nope, do another pass */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bsrm8_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int64_t *addr, bus_size_t len) */
/* LINTSTUB: Func:... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 561 | 620 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:16 | ENTRY(bsrm4rb_s)
lwz %r0,0(%r3) /* get log2(stride) */
rotlw %r5,%r5,%r0 /* shift offset */
ENTRY(bsrm4rb)
add %r3,%r4,%r5 /* add offset to handle & place in argument 0 */
mr %r4,%r6 /* move addr to argument 1 register */
mr %r5,%r7 /* move count to argument 2 register */
ENTRY(ins32rb)
cmpwi %r5,0 /* len == 0... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 601 | 660 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:17 | cmpwi %r7,0 /* len == 0? */
beqlr- /* return if len == 0 */
addi %r7,%r7,-1 /* len -= 1 */
add %r7,%r7,%r6 /* len += src */
addi %r6,%r6,-1 /* pre-decrement */
sub %r3,%r3,%r8
1: lbzu %r0,1(%r6) /* load and increment */
stbux %r0,%r3,%r8 /* store and add distance */
cmplw %r6,%r7 /* at the end? */
bne+ 1b... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 641 | 700 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:18 | /* LINTSTUB: Func: void bswr2rb_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int16_t *a, bus_size_t c); */
/* LINTSTUB: Func: void bswr2rb(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int16_t *a, bus_size_t c); */
ENTRY(bswr2rb_s)
lwz %r0,0(%r3) /* get log2(stride) */
li %r8,2 /... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 681 | 740 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:19 | cmpwi %r7,0 /* len == 0? */
beqlr- /* return if len == 0 */
addi %r7,%r7,-1 /* len -= 1 */
slwi %r7,%r7,2 /* len *= 4 */
add %r7,%r7,%r6 /* len += src */
addi %r6,%r6,-4 /* pre-decrement */
sub %r3,%r3,%r8
1: lwzu %r0,4(%r6) /* load and increment */
stwux %r0,%r3,%r8 /* store and add distance */
cmplw %r6,... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 721 | 780 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:20 | blr /* return */
/* LINTSTUB: Func: void bswr8_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *a, bus_size_t c); */
/* LINTSTUB: Func: void bswr8(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int64_t *a, bus_size_t c); */
/* LINTSTUB: Func: void bswr8rb_s(bus_space_tag_t t,... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 761 | 820 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:21 | /* LINTSTUB: Func: void bsrr2_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int16_t *a, bus_size_t c); */
/* LINTSTUB: Func: void bsrr2(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int16_t *a, bus_size_t c); */
ENTRY(bsrr2_s)
lwz %r0,0(%r3) /* get log2(stride) */
li %r8,2 /* distance between... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 801 | 860 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:22 | beqlr- /* return if len == 0 */
addi %r7,%r7,-1 /* len -= 1 */
slwi %r7,%r7,1 /* len *= 2 */
add %r7,%r7,%r6 /* len += src */
addi %r6,%r6,-2 /* pre-decrement */
1: lhbrx %r0,0,%r3 /* load value (reversed) */
add %r3,%r3,%r8 /* src += distance */
sthu %r0,2(%r6) /* store and increment */
cmplw %r6,%r7 /* at... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 841 | 900 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:23 | /* LINTSTUB: Func: void bsrr4rb_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int32_t *a, bus_size_t c); */
/* LINTSTUB: Func: void bsrr4rb(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int32_t *a, bus_size_t c); */
ENTRY(bsrr4rb_s)
lwz %r0,0(%r3) /* get log2(stride) */
li %r8,4 /* distance b... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 881 | 940 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:24 | /* LINTSTUB: Func: void bssr1_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int8_t v, bus_size_t c); */
/* LINTSTUB: Func: void bssr1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, u_int8_t v, bus_size_t c); */
ENTRY(bssr1_s)
lwz %r0,0(%r3) /* get log2(stride) */
li %r8,1 /* distance between src... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 921 | 980 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:25 | bne+ 1b /* nope, do another pass */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bssr2rb_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, const u_int16_t v, bus_size_t c); */
/* LINTSTUB: Func: void bssr2rb(bus_space_tag_t t... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 961 | 1,020 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:26 | 1: addi %r7,%r7,-1 /* len -= 1 */
stwx %r6,%r4,%r5 /* store value */
add %r5,%r5,%r8 /* add offset */
cmpwi %r7,0 /* len == 0? */
bne+ 1b /* nope, do another pass */
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bssr4rb_s(bus_sp... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 1,001 | 1,060 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:27 | ENTRY(bssr8rb)
trap
/* LINTSTUB: Func: void bscr1_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, bus_space_handle_t h2, bus_size_t o2, bus_size_t len); */
/* LINTSTUB: Func: void bscr1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, bus_space_handle_t h2, bus_size_t o2, bus_size_t len); */
ENTRY(bscr... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 1,041 | 1,100 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:28 | bdnz+ 3b /* jump if len != 0 */
.Lbscr1_end:
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bscr2_s(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o, bus_space_handle_t h2, bus_size_t o2, bus_size_t len); */
/* LINTSTUB: Func: void... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 1,081 | 1,140 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:29 | sthx %r12,%r6,%r7 /* store value */
sub %r5,%r5,%r9 /* src offset -= 2 */
sub %r7,%r7,%r9 /* dest offset -= 2 */
bdnz+ 3b /* jump if len != 0 */
.Lbscr2_end:
eieio /* memory barrier (reorder protection) */
DBGSYNC /* force exceptions */
blr /* return */
/* LINTSTUB: Func: void bscr4_s(bus_space_tag_t t, b... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 1,121 | 1,177 |
NetBSD/src:sys/arch/powerpc/powerpc/pio_subr.S:30 | add %r5,%r10,%r8 /* src offset = o + len - 1 */
add %r7,%r11,%r8 /* dest offset = o2 + len - 1 */
3: lwzx %r12,%r4,%r5 /* load value */
stwx %r12,%r6,%r7 /* store value */
sub %r5,%r5,%r9 /* src offset -= 4 */
sub %r7,%r7,%r9 /* dest offset -= 4 */
bdnz+ 3b /* jump if len != 0 */
.Lbscr4_end:
eieio /* memory b... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/pio_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/pio_subr.S | 1,161 | 1,177 |
NetBSD/src:sys/arch/powerpc/powerpc/setfault.S:3 | /* LINTSTUB: include <machine/pcb.h> */
/* LINTSTUB: Func: int setfault(struct faultbuf *fb); */
/*
* int setfault(faultbuf_t *)
*
* Similar to setjmp to setup for handling faults on accesses to user memory.
* Any routine using this may only call bcopy, either the form below,
* or the (currently used) C code opti... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setfault.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/setfault.S | 81 | 130 |
NetBSD/src:sys/arch/powerpc/powerpc/setfault.S:4 | streg %r25,FB_R25(%r3)
streg %r26,FB_R26(%r3)
streg %r27,FB_R27(%r3)
streg %r28,FB_R28(%r3)
streg %r29,FB_R29(%r3)
streg %r30,FB_R30(%r3)
streg %r31,FB_R31(%r3)
#endif
li %r3,0
blr | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setfault.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/setfault.S | 121 | 130 |
NetBSD/src:sys/arch/powerpc/powerpc/setjmp.S:1 | /* $NetBSD: setjmp.S,v 1.5 2025/04/29 10:56:38 martin Exp $ */
/* from: OpenBSD: setjmp.S,v 1.2 1996/12/28 06:22:18 rahnds Exp */
/* kernel version of this file, does not have signal goop */
/* int setjmp(jmp_buf env) */
#include <machine/asm.h>
#define JMP_r1 0x04
#define JMP_r14 0x08
#define JMP_r15 0x0c
#define J... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setjmp.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/setjmp.S | 1 | 60 |
NetBSD/src:sys/arch/powerpc/powerpc/setjmp.S:2 | streg %r16, JMP_r16(%r3)
streg %r17, JMP_r17(%r3)
streg %r18, JMP_r18(%r3)
streg %r19, JMP_r19(%r3)
streg %r20, JMP_r20(%r3)
streg %r21, JMP_r21(%r3)
streg %r22, JMP_r22(%r3)
streg %r23, JMP_r23(%r3)
streg %r24, JMP_r24(%r3)
streg %r25, JMP_r25(%r3)
streg %r26, JMP_r26(%r3)
streg %r27, JMP_r27(%r3)
streg %r... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setjmp.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/setjmp.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/setjmp.S:3 | ldreg %r19, JMP_r19(%r3)
ldreg %r20, JMP_r20(%r3)
ldreg %r21, JMP_r21(%r3)
ldreg %r22, JMP_r22(%r3)
ldreg %r23, JMP_r23(%r3)
ldreg %r24, JMP_r24(%r3)
ldreg %r25, JMP_r25(%r3)
ldreg %r26, JMP_r26(%r3)
ldreg %r27, JMP_r27(%r3)
ldreg %r28, JMP_r28(%r3)
ldreg %r29, JMP_r29(%r3)
ldreg %r30, JMP_r30(%r3)
/* cr, l... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setjmp.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/setjmp.S | 81 | 104 |
NetBSD/src:sys/arch/powerpc/powerpc/setjmp.S:1 | /* $NetBSD: setjmp.S,v 1.4 2011/01/17 08:23:56 matt Exp $ */
/* from: OpenBSD: setjmp.S,v 1.2 1996/12/28 06:22:18 rahnds Exp */
/* kernel version of this file, does not have signal goop */
/* int setjmp(jmp_buf env) */
#include <machine/asm.h>
#define JMP_r1 0x04
#define JMP_r14 0x08
#define JMP_r15 0x0c
#define JMP... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setjmp.S | BSD-2-Clause | 3a3e6e6861107fa30395b99abb65697f94ef1bf8 | github | kernel | https://github.com/NetBSD/src/blob/3a3e6e6861107fa30395b99abb65697f94ef1bf8/sys/arch/powerpc/powerpc/setjmp.S | 1 | 60 |
NetBSD/src:sys/arch/powerpc/powerpc/setjmp.S:3 | ldreg %r19, JMP_r19(%r3)
ldreg %r20, JMP_r20(%r3)
ldreg %r21, JMP_r21(%r3)
ldreg %r22, JMP_r22(%r3)
ldreg %r23, JMP_r23(%r3)
ldreg %r24, JMP_r24(%r3)
ldreg %r25, JMP_r25(%r3)
ldreg %r26, JMP_r26(%r3)
ldreg %r27, JMP_r27(%r3)
ldreg %r28, JMP_r28(%r3)
ldreg %r29, JMP_r29(%r3)
ldreg %r30, JMP_r30(%r3)
/* cr, l... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/setjmp.S | BSD-2-Clause | 3a3e6e6861107fa30395b99abb65697f94ef1bf8 | github | kernel | https://github.com/NetBSD/src/blob/3a3e6e6861107fa30395b99abb65697f94ef1bf8/sys/arch/powerpc/powerpc/setjmp.S | 81 | 104 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:2 | #ifdef _KERNEL_OPT
#include "opt_altivec.h"
#include "opt_ddb.h"
#include "opt_kgdb.h"
#include "opt_ppcarch.h"
#include "opt_multiprocessor.h"
#endif
/* LINTSTUB: include <sys/param.h> */
/* LINTSTUB: include <powerpc/oea/bat.h> */
#ifdef ALTIVEC
#define SAVE_VRSAVE(tf,b) \
mfspr b,SPR_VRSAVE; \
stint b,... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:3 | #define ENABLE_64BIT_BRIDGE(t0) \
mfmsr t0; \
clrldi t0,t0,1; \
mtmsrd t0;
#else
#define ENABLE_64BIT_BRIDGE(t0)
#endif /* PPC_OEA64_BRIDGE */
#if defined(PPC_OEA64)
/*
* User segment table is loaded through a pointer to the current pmap.
*/
#define RESTORE_USER_SRS(t0,t1) \
GET_CPUINFO(t0);... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 81 | 140 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:4 | ldreg sr,4(pmap); mtsr 1,sr; \
ldreg sr,8(pmap); mtsr 2,sr; \
ldreg sr,12(pmap); mtsr 3,sr; \
ldreg sr,16(pmap); mtsr 4,sr; \
ldreg sr,20(pmap); mtsr 5,sr; \
ldreg sr,24(pmap); mtsr 6,sr; \
ldreg sr,28(pmap); mtsr 7,sr; \
ldreg sr,32(pmap); mtsr 8,sr; \
ldreg sr,36(pmap); mtsr 9,sr; \
ldreg sr,40(pmap); mtsr 1... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 121 | 180 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:5 | /* Restore fixed BATs on 601; reuse temporary registers. */ \
lis pmap,_C_LABEL(battable)@ha; \
ldregu sr,_C_LABEL(battable)@l(pmap); \
mtibatu 0,sr; \
ldreg sr,4(pmap); mtibatl 0,sr; \
ldreg sr,8(pmap); mtibatu 1,sr; \
ldreg sr,12(pmap); mtibatl 1,sr
#endif /* (PPC_OEA64) */
/*
* Save/restore... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 161 | 220 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:6 | streg %r30,(CI_TEMPSAVE+CPUSAVE_R30)(%r1) /* free r30 */
streg %r31,(CI_TEMPSAVE+CPUSAVE_R31)(%r1) /* free r31 */
mfsprg1 %r1 /* restore SP */
mflr %r28 /* save LR */
mfcr %r29 /* save CR */
/* Test whether we already had PR set */
mfsrr1 %r31
mtcr %r31
#if defined(DISTANT_KERNEL)
lis %r31,s_trap@ha
addi ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 201 | 260 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:7 | mfsrr1 %r31
mtcr %r31
#if defined(DISTANT_KERNEL)
lis %r31,s_trap@ha
addi %r31,%r31,s_trap@l
mtlr %r31
blrl
#else
bla s_trap
#endif
_C_LABEL(alisize) = .-_C_LABEL(alitrap)
#if !defined(PPC_MPC8XX)
/*
* Similar to the above for DSI
* Has to handle BAT spills
* and standard pagetable spills
*/
/* LINTSTUB: Var... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 241 | 300 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:8 | /* Get address of this CPU's current battable */
GET_CPUINFO(%r30)
ldreg %r30,CI_BATTABLE(%r30)
/* Add offset to the slot we care about. */
add %r31,%r31,%r30
/* get batu */
ldreg %r30,0(%r31)
mtcr %r30
bf 30,1f /* branch if supervisor valid is
false */
/* get batl */
ldreg %r31,SZREG(%r31)
/* We ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 281 | 340 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:9 | 3:
dsitrap_fix_dbat7:
/*
* If we are running on a CPU that has HIGHBAT, these will be replaced
* by instructions to update BAT7.
*/
mtspr SPR_DBAT3U,%r30 /* mtspr SPR_DBAT7U,%r30 */
mtspr SPR_DBAT3L,%r31 /* mtspr SPR_DBAT7L,%r31 */
8:
mfsprg2 %r30 /* restore XER */
mtxer %r30
mtcr %r29 /* restore CR *... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 321 | 380 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:10 | */
/* LINTSTUB: Var: int dsi601code[1], dsi601size[1]; */
.globl _C_LABEL(dsi601trap),_C_LABEL(dsi601size)
_C_LABEL(dsi601trap):
mtsprg1 %r1
ENABLE_64BIT_BRIDGE(%r1)
GET_CPUINFO(%r1)
streg %r28,(CI_DISISAVE+CPUSAVE_R28)(%r1) /* save r28 */
streg %r29,(CI_DISISAVE+CPUSAVE_R29)(%r1) /* save r29 */
streg %r30,(CI_D... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 361 | 420 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:11 | mtibatu 2,%r31
mtibatl 2,%r30
b 3f
2:
mtibatu 3,%r31
mtibatl 3,%r30
3:
mfsprg2 %r30 /* restore XER */
mtxer %r30
mtcr %r29 /* restore CR */
mtsprg1 %r1
GET_CPUINFO(%r1)
ldreg %r28,(CI_DISISAVE+CPUSAVE_R28)(%r1) /* restore r28 */
ldreg %r29,(CI_DISISAVE+CPUSAVE_R29)(%r1) /* restore r29 */
ldreg %r30,(CI_... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 401 | 460 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:12 | GET_CPUINFO(%r1)
streg %r28,(CI_TEMPSAVE+CPUSAVE_R28)(%r1) /* save r28 */
streg %r29,(CI_TEMPSAVE+CPUSAVE_R29)(%r1) /* save r29 */
streg %r30,(CI_TEMPSAVE+CPUSAVE_R30)(%r1) /* save r30 */
streg %r31,(CI_TEMPSAVE+CPUSAVE_R31)(%r1) /* save r31 */
mflr %r28 /* save LR */
mfcr %r29 /* save CR */
mfsrr1 %r31
mtc... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 441 | 500 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:13 | mfcr %r29 /* save CR */
mfsrr1 %r31
mtcr %r31
mr %r30,%r1
mfsprg1 %r1 /* yes, get old SP */
bf MSR_PR,1f /* branch if PSL_PR is true */
ldptr %r1,CI_CURPCB(%r30) /* get kernel stack */
addi %r1,%r1,USPACE-CALLFRAMELEN /* stack is top of user struct */
RESTORE_KERN_SRS(%r30, %r31)
1:
#if defined(DISTANT_KER... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 481 | 540 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:14 | bne 3f /* not found */
ldreg %r1,4(%r2) /* load tlb entry lower word */
andi. %r3,%r1,PTE_G /* check G-bit */
bne 4f /* if guarded, take ISI */
mtctr %r0 /* restore counter */
mfspr %r0,SPR_IMISS /* get the miss address for the tlbli */
mfsrr1 %r3 /* get the saved cr0 bits */
mtcrf 0x80,%r3 /* and re... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 521 | 580 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:15 | #if defined(PPC_HIGH_VEC)
ba EXC_HIGHVEC+EXC_ISI
#else
ba EXC_ISI
#endif
_C_LABEL(tlbimsize) = .-_C_LABEL(tlbimiss)
/* LINTSTUB: Var: int tlbdlmiss[1], tlbdlmsize[1]; */
.globl _C_LABEL(tlbdlmiss),_C_LABEL(tlbdlmsize)
_C_LABEL(tlbdlmiss):
mfspr %r2,SPR_HASH1 /* get first pointer */
li %r1,8
mfctr %r0 /* save ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 561 | 620 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:16 | addi %r2,%r2,-8 /* predec pointer */
b 1b
5: /* not found anywhere */
mfsrr1 %r3
lis %r1,DSISR_NOTFOUND@h /* set dsisr<1> to flag pte not found */
mtctr %r0 /* restore counter */
andi. %r2,%r3,0xffff /* clean upper srr1 */
mtsrr1 %r2
mtdsisr %r1 /* load the dsisr */
mfspr %r1,SPR_DMISS /* get the miss ad... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 601 | 660 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:17 | beq 4f
5:
mtctr %r0 /* restore counter */
mfspr %r0,SPR_DMISS /* get the miss address for the tlbld */
mfsrr1 %r3 /* get the saved cr0 bits */
mtcrf 0x80,%r3 /* and restore */
mtspr SPR_RPA,%r1 /* set the pte */
tlbld %r0 /* load the dtlb */
RFI
3: /* not found in pteg */
andi. %r1,%r3,PTE_HID /* hav... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 641 | 700 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:18 | b 5b
5: /* not found anywhere */
mfsrr1 %r3
lis %r1,(DSISR_NOTFOUND|DSISR_STORE)@h
/* set dsisr<1> to flag pte not found */
/* dsisr<6> to flag store */
1:
mtctr %r0 /* restore counter */
andi. %r2,%r3,0xffff /* clean upper srr1 */
mtsrr1 %r2
mtdsisr %r1 /* load the dsisr */
mfspr %r1,SPR_DMISS /... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 681 | 740 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:19 | mfsrr1 %r1
mtcr %r1
GET_CPUINFO(%r1)
bf MSR_PR,1f /* branch if privileged */
streg %r28,(CI_TEMPSAVE+CPUSAVE_R28)(%r1) /* free r28 */
mfsprg2 %r28
streg %r28,(CI_TEMPSAVE+CPUSAVE_R29)(%r1) /* free r29 */
streg %r30,(CI_TEMPSAVE+CPUSAVE_R30)(%r1) /* free r30 */
streg %r31,(CI_TEMPSAVE+CPUSAVE_R31)(%r1) /* free ... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 721 | 780 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:20 | * SPRG1 SP (%r1)
* savearea r28-r31,DAR,DSISR (DAR & DSISR only for DSI traps)
* 28 LR
* 29 CR
* 30 scratch
* 31 scratch
* 1 kernel stack
* LR trap type
* SRR0/1 as at start of trap
*/
#define FRAME_SETUP(savearea) \
/* Have to enable translation to allow access of kernel stack: */ \
GET_CPUINFO(... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 761 | 820 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:21 | streg %r10,FRAME_R10(%r1); /* save r10 */ \
streg %r11,FRAME_R11(%r1); /* save r11 */ \
streg %r12,FRAME_R12(%r1); /* save r12 */ \
streg %r13,FRAME_R13(%r1); /* save r13 */ \
streg %r14,FRAME_R14(%r1); /* save r14 */ \
streg %r15,FRAME_R15(%r1); /* save r15 */ \
streg %r16,FRAME_R16(%r1); /* save r16 */ \... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 801 | 860 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:22 | #define FRAME_RESTORE_CALLEE \
ldreg %r31,FRAME_R31(%r1); /* restore r31 */ \
ldreg %r30,FRAME_R30(%r1); /* restore r30 */ \
ldreg %r29,FRAME_R29(%r1); /* restore r29 */ \
ldreg %r28,FRAME_R28(%r1); /* restore r28 */ \
ldreg %r27,FRAME_R27(%r1); /* restore r27 */ \
ldreg %r26,FRAME_R26(%r1); /* restore r26 */... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 841 | 900 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:23 | ldreg %r11,FRAME_R11(%r1); /* restore r11 */ \
ldreg %r10,FRAME_R10(%r1); /* restore r10 */ \
ldreg %r9,FRAME_R9(%r1); /* restore r9 */ \
ldreg %r8,FRAME_R8(%r1); /* restore r8 */ \
ldreg %r7,FRAME_R7(%r1); /* restore r7 */ \
ldreg %r6,FRAME_R6(%r1); /* restore r6 */ \
ldreg %r5,FRAME_R5(%r1); /* restore r5 */ \
... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 881 | 940 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:24 | disitrap:
GET_CPUINFO(%r1)
ldreg %r30,(CI_DISISAVE+CPUSAVE_R28)(%r1)
streg %r30,(CI_TEMPSAVE+CPUSAVE_R28)(%r1)
ldreg %r31,(CI_DISISAVE+CPUSAVE_R29)(%r1)
streg %r31,(CI_TEMPSAVE+CPUSAVE_R29)(%r1)
ldreg %r30,(CI_DISISAVE+CPUSAVE_R30)(%r1)
streg %r30,(CI_TEMPSAVE+CPUSAVE_R30)(%r1)
ldreg %r31,(CI_DISISAVE+CPUSAVE_R... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 921 | 980 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:25 | addi %r1,%r1,ddbstk+INTSTK@l
b ddbtrap
#endif
.globl _C_LABEL(trapstart)
.type _C_LABEL(trapstart),@function
_C_LABEL(trapstart):
realtrap:
/* Test whether we already had PR set */
mfsrr1 %r1
mtcr %r1
mfsprg1 %r1 /* restore SP (might have been
overwritten) */
s_trap:
bf MSR_PR,k_trap /* branch if PSL... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 961 | 1,020 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:26 | .globl trapexit
trapexit:
/* Disable interrupts: */
mfmsr %r3
andi. %r3,%r3,~PSL_EE@l
mtmsr %r3
/* Test AST pending: */
mtcr %r31
bf MSR_PR,trapleave /* branch if PSL_PR is false */
ldint %r4,L_MD_ASTPENDING(%r13)
andi. %r4,%r4,1
beq trapleave
li %r6,EXC_AST
stint %r6,FRAME_EXC(%r1)
b trapagain
trapleave:
... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,001 | 1,060 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:27 | lis %r31,s_sctrap@ha
addi %r31,%r31,s_sctrap@l
mtlr %r31
blrl
#else
bla s_sctrap
#endif
_C_LABEL(scsize) = .-_C_LABEL(sctrap)
s_sctrap:
GET_CPUINFO(%r1)
ldptr %r1,CI_CURPCB(%r1)
addi %r1,%r1,USPACE-CALLFRAMELEN /* stack is top of user struct */
RESTORE_KERN_SRS(%r30,%r31) /* First enable KERNEL mapping */
FR... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,041 | 1,100 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:28 | * 1 kernel stack
* SRR0/1 as at start of exception
*/
#define INTR_SETUP(savearea,exc) \
/* Have to enable translation to allow access of kernel stack: */ \
GET_CPUINFO(%r31); \
mfsrr0 %r30; \
streg %r30,(savearea+CPUSAVE_SRR0)(%r31); /* save SRR0 */ \
mfsrr1 %r30; \
streg %r30,(savearea+C... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,081 | 1,140 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:29 | ldint %r3,CI_IDEPTH(%r2); \
stint %r3,FRAME_IDEPTH(%r1); \
mfxer %r3; \
mfctr %r4; \
li %r5,exc; \
stint %r5,FRAME_EXC(%r1); \
stint %r3,FRAME_XER(%r1); \
streg %r4,FRAME_CTR(%r1); \
streg %r11,FRAME_SRR0(%r1); \
streg %r12,FRAME_SRR1(%r1); \
mfmsr %r6; \
or... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,121 | 1,180 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:30 | ldint %r3,L_MD_ASTPENDING(%r13) /* Test AST pending */
andi. %r3,%r3,1
beq intrleave /* common frame exit */
/*
* Since interrupts save their state in a std trapframe, all we need to do to
* process the AST is finish filling the trapframe with the rest of the fixed
* registers and let trap deal with it.
*/
str... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,161 | 1,220 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:31 | decrintr:
INTR_SETUP(CI_TEMPSAVE, EXC_DECR)
addi %r3,%r1,FRAME_CF /* intr frame -> clock frame */
bl _C_LABEL(decr_intr)
b intr_exit
#ifdef DDB
/*
* Deliberate entry to ddbtrap
*/
.globl _C_LABEL(ddb_trap)
_C_LABEL(ddb_trap):
mtsprg1 %r1
mfmsr %r3
mtsrr1 %r3
andi. %r3,%r3,~(PSL_EE|PSL_ME)@l
mtmsr %r3 /*... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,201 | 1,260 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:32 | bl _C_LABEL(ddb_trap_glue)
or. %r3,%r3,%r3
beq trapagain
FRAME_RESTORE_CALLEE
CLEAR_RESERVATION
FRAME_LEAVE(CI_DDBSAVE)
RFI
#endif /* DDB || KGDB */
.globl _C_LABEL(trapend)
_C_LABEL(trapend):
/*
* All OEA have FPUs so include this too. Some OEA have AltiVec so include
* that too.
*/
#if !defined(PPC_MPC8X... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | 3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd | github | kernel | https://github.com/NetBSD/src/blob/3f1390c8cc18c3f67a4bd2632f8c7ad919cf86fd/sys/arch/powerpc/powerpc/trap_subr.S | 1,241 | 1,260 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:2 | #ifdef _KERNEL_OPT
#include "opt_altivec.h"
#include "opt_ddb.h"
#include "opt_kgdb.h"
#include "opt_ppcarch.h"
#include "opt_multiprocessor.h"
#endif
/* LINTSTUB: include <sys/param.h> */
/* LINTSTUB: include <powerpc/oea/bat.h> */
#ifdef ALTIVEC
#define SAVE_VRSAVE(tf,b) \
mfspr b,SPR_VRSAVE; \
stint b,... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | a1d8a742380eea1540f1c0b1adc48642b5344885 | github | kernel | https://github.com/NetBSD/src/blob/a1d8a742380eea1540f1c0b1adc48642b5344885/sys/arch/powerpc/powerpc/trap_subr.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:2 | #ifdef _KERNEL_OPT
#include "opt_altivec.h"
#include "opt_ddb.h"
#include "opt_kgdb.h"
#include "opt_ppcarch.h"
#endif
/* LINTSTUB: include <sys/param.h> */
/* LINTSTUB: include <powerpc/oea/bat.h> */
#ifdef ALTIVEC
#define SAVE_VRSAVE(tf,b) \
mfspr b,SPR_VRSAVE; \
stint b,FRAME_VRSAVE(tf);
#define RESTO... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | bf17480c06c0c6855be3bc73cce3e8b499cc40ab | github | kernel | https://github.com/NetBSD/src/blob/bf17480c06c0c6855be3bc73cce3e8b499cc40ab/sys/arch/powerpc/powerpc/trap_subr.S | 41 | 100 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:3 | * User segment table is loaded through a pointer to the current pmap.
*/
#define RESTORE_USER_SRS(t0,t1) \
GET_CPUINFO(t0); \
ldptr t0,CI_CURPM(t0); \
ldreg t0,PM_STEG(t0); \
mtasr t0
/*
* Kernel segment table is loaded directly from kernel_pmap_
*/
#define RESTORE_KERN_SRS(t0,t1) \
lis... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | bf17480c06c0c6855be3bc73cce3e8b499cc40ab | github | kernel | https://github.com/NetBSD/src/blob/bf17480c06c0c6855be3bc73cce3e8b499cc40ab/sys/arch/powerpc/powerpc/trap_subr.S | 81 | 140 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:4 | ldreg sr,44(pmap); mtsr 11,sr; \
ldreg sr,48(pmap); mtsr 12,sr; \
ldreg sr,52(pmap); mtsr 13,sr; \
ldreg sr,56(pmap); mtsr 14,sr; \
ldreg sr,60(pmap); mtsr 15,sr; isync;
/*
* User SRs are loaded through a pointer to the current pmap.
* Note: oea_init() relies on the 601 instruction sequence.
*/
#define RESTORE_... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | bf17480c06c0c6855be3bc73cce3e8b499cc40ab | github | kernel | https://github.com/NetBSD/src/blob/bf17480c06c0c6855be3bc73cce3e8b499cc40ab/sys/arch/powerpc/powerpc/trap_subr.S | 121 | 180 |
NetBSD/src:sys/arch/powerpc/powerpc/trap_subr.S:5 | * Save/restore MPC601 MQ register.
* Note: oea_init() relies on this instruction sequence.
*/
#if defined(PPC_OEA601)
#define SAVE_MQ(tf,b) \
mfspr b,SPR_MQ; \
streg b,FRAME_MQ(tf);
#define RESTORE_MQ(tf,b) \
ldreg b,FRAME_MQ(tf); \
mtspr SPR_MQ,b;
#else
#define SAVE_MQ(tf,b)
#define RESTORE... | powerpc | gas-like | handwritten | NetBSD/src | sys/arch/powerpc/powerpc/trap_subr.S | BSD-2-Clause | bf17480c06c0c6855be3bc73cce3e8b499cc40ab | github | kernel | https://github.com/NetBSD/src/blob/bf17480c06c0c6855be3bc73cce3e8b499cc40ab/sys/arch/powerpc/powerpc/trap_subr.S | 161 | 220 |
End of preview. Expand in Data Studio
NickIBrody/assembly-code-suite
Assembly Code Suite is a public raw assembly corpus built from open-source repositories and selected historical git revisions.
Splits
train.jsonlvalidation.jsonltest.jsonl
Schema
{
"id": "owner/repo:path:chunk",
"text": "...",
"arch": "x86_64",
"syntax": "gas-att",
"kind": "handwritten",
"repo": "owner/repo",
"path": "arch/x86/lib/memcpy_64.S",
"license": "GPL-2.0",
"commit": "abcdef123456",
"source_url": "https://github.com/owner/repo/blob/abcdef123456/arch/x86/lib/memcpy_64.S"
}
Build Summary
{
"repos": 39,
"files": 119400,
"chunks": 304261,
"candidates": 304261,
"train": 273806,
"validation": 15226,
"test": 15229
}
- Downloads last month
- 10