[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 10 Oct 2018 16:24:59 +0300
From: Meelis Roos <mroos@...ux.ee>
To: sparclinux@...r.kernel.org, netdev@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jslaby@...e.com>
Subject: sparc64 mystery with Cheetah+ D-cache parity error
(n_tty_set_termios, bpf_check, cheetah_copy_page_insn)
I have seen multiple strange messages like this, on multiple sparc64 machines:
[ 55.523882] CPU[1]: Cheetah+ D-cache parity error at TPC[0000000000707e8c]
[ 55.626033] TPC<n_tty_set_termios+0x2c/0x3c0>
This specfic one ise from n_tty_set_termios and it is currently repeatable on a Sun V210.
I have seen these on V245 and V445 too, with different addresses. On V445, the same address caused
errors on multiple CPUs so it does not seem like a hardware problem, rather something software releated,
that's why I am reporting it here.
On V445 it is gone with my current custom kernels but was there with 4.16.0-1-sparc64-smp Debian kernel package,
probabaly because I do not have bpfilter compiled in:
Sep 27 22:51:52 v445 kernel: [ 51.635141] CPU[3]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 22:51:52 v445 kernel: [ 51.733940] TPC<bpf_check+0x30/0x1780>
Sep 27 23:13:45 v445 kernel: [ 59.192005] CPU[1]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:13:45 v445 kernel: [ 59.290762] TPC<bpf_check+0x30/0x1780>
Sep 27 23:22:14 v445 kernel: [ 336.892797] CPU[3]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:22:14 v445 kernel: [ 336.991586] TPC<bpf_check+0x30/0x1780>
Sep 27 23:22:15 v445 kernel: [ 337.546927] CPU[0]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:22:15 v445 kernel: [ 337.645689] TPC<bpf_check+0x30/0x1780>
Sep 27 23:44:40 v445 kernel: [ 1682.966655] CPU[1]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:44:40 v445 kernel: [ 1683.065442] TPC<bpf_check+0x30/0x1780>
Sep 27 23:47:05 v445 kernel: [ 1828.099386] CPU[1]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:47:05 v445 kernel: [ 1828.198145] TPC<bpf_check+0x30/0x1780>
Sep 27 23:47:37 v445 kernel: [ 1859.857710] CPU[0]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:47:37 v445 kernel: [ 1859.956441] TPC<bpf_check+0x30/0x1780>
Sep 27 23:47:47 v445 kernel: [ 1869.732962] CPU[0]: Cheetah+ D-cache parity error at TPC[000000000057bc70]
Sep 27 23:47:47 v445 kernel: [ 1869.831721] TPC<bpf_check+0x30/0x1780>
On V245, it is also gone with current kernel. Here are logs from 4.18.0-rc7-00090-gc1d61e7 to 4.19.0-rc7-00009-g0854ba5:
Aug 13 09:18:13 v245 kernel: [ 50.639758] CPU[0]: Cheetah+ D-cache parity error at TPC[00000000006cf28c]
Aug 13 09:18:13 v245 kernel: [ 50.743561] TPC<n_tty_set_termios+0x2c/0x3c0>
Aug 13 09:18:13 v245 kernel: [ 62.151683] CPU[0]: Cheetah+ D-cache parity error at TPC[00000000006cf28c]
Aug 13 09:18:13 v245 kernel: [ 62.252996] TPC<n_tty_set_termios+0x2c/0x3c0>
Aug 26 11:35:37 v245 kernel: [ 55.341794] CPU[0]: Cheetah+ D-cache parity error at TPC[00000000006cdc8c]
Aug 26 11:35:37 v245 kernel: [ 55.437571] TPC<n_tty_set_termios+0x2c/0x3c0>
Aug 26 13:47:03 v245 kernel: [ 7941.436962] CPU[1]: Cheetah+ D-cache parity error at TPC[00000000006cdc8c]
Aug 26 13:47:03 v245 kernel: [ 7941.531823] TPC<n_tty_set_termios+0x2c/0x3c0>
Aug 26 13:49:07 v245 kernel: [ 65.179371] CPU[1]: Cheetah+ D-cache parity error at TPC[00000000006d340c]
Aug 26 13:49:07 v245 kernel: [ 65.285928] TPC<n_tty_set_termios+0x2c/0x3c0>
Sep 17 15:45:37 v245 kernel: [ 67.099122] CPU[1]: Cheetah+ D-cache parity error at TPC[00000000006d340c]
Sep 17 15:45:37 v245 kernel: [ 67.205581] TPC<n_tty_set_termios+0x2c/0x3c0>
Sep 17 20:49:06 v245 kernel: [ 47.923877] CPU[1]: Cheetah+ D-cache parity error at TPC[00000000006d352c]
Sep 17 20:49:06 v245 kernel: [ 48.021575] TPC<n_tty_set_termios+0x2c/0x3c0>
Sep 23 23:03:07 v245 kernel: [ 56.136992] CPU[0]: Cheetah+ D-cache parity error at TPC[00000000006d364c]
Sep 23 23:03:07 v245 kernel: [ 56.243463] TPC<n_tty_set_termios+0x2c/0x3c0>
Oct 8 19:02:41 v245 kernel: [ 55.197360] CPU[0]: Cheetah+ D-cache parity error at TPC[0000000000860e10]
Oct 8 19:02:41 v245 kernel: [ 55.303284] TPC<cheetah_copy_page_insn+0xa4/0x274>
The last one is from 4.19.0-rc7-00009-g0854ba5 and it has happened only on one boot of this kernel, out of 4,
so it is somewhat nondeterministic. This is the same kernel that made me think it does not happen with current
kernels - well, it did with the same image once.
On V210, it has happened since 4.19.0-rc4-00022-gad3273d and is still happening with 4.19.0-rc7-00009-g0854ba5.
Grep from logs:
Sep 23 22:11:23 v210 kernel: [ 61.080357] CPU[1]: Cheetah+ D-cache parity error at TPC[0000000000707b2c]
Sep 23 22:11:23 v210 kernel: [ 61.184336] TPC<n_tty_set_termios+0x2c/0x3c0>
Sep 23 22:11:24 v210 kernel: [ 65.234758] CPU[1]: Cheetah+ D-cache parity error at TPC[0000000000707b2c]
Sep 23 22:11:24 v210 kernel: [ 65.341131] TPC<n_tty_set_termios+0x2c/0x3c0>
Oct 8 19:21:08 v210 kernel: [ 55.303418] CPU[1]: Cheetah+ D-cache parity error at TPC[0000000000707e8c]
Oct 8 19:21:08 v210 kernel: [ 55.406668] TPC<n_tty_set_termios+0x2c/0x3c0>
TPC is different, address relative to n_tty_set_termios is the same.
Disassembly of n_tty_set_termios on V210:
0000000000707e60 <n_tty_set_termios>:
707e60: 9d e3 bf 50 save %sp, -176, %sp
707e64: 02 c6 40 55 brz,pn %i1, 707fb8 <n_tty_set_termios+0x158>
707e68: fa 5e 22 58 ldx [ %i0 + 0x258 ], %i5
707e6c: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
707e70: 05 00 00 40 sethi %hi(0x10000), %g2
707e74: c6 06 60 0c ld [ %i1 + 0xc ], %g3
707e78: 84 10 a0 02 or %g2, 2, %g2
707e7c: 86 18 40 03 xor %g1, %g3, %g3
707e80: 80 88 c0 02 btst %g3, %g2
707e84: 12 48 00 4e bne %icc, 707fbc <n_tty_set_termios+0x15c>
707e88: b8 10 20 83 mov 0x83, %i4
707e8c: c6 0f 60 5d ldub [ %i5 + 0x5d ], %g3
707e90: 83 28 60 02 sll %g1, 2, %g1
707e94: 84 08 60 08 and %g1, 8, %g2
707e98: 82 08 ff f7 and %g3, -9, %g1
707e9c: 82 10 40 02 or %g1, %g2, %g1
707ea0: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
707ea4: 84 10 20 1f mov 0x1f, %g2
707ea8: c6 5e 21 10 ldx [ %i0 + 0x110 ], %g3
707eac: 85 28 b0 25 sllx %g2, 0x25, %g2
707eb0: 84 08 c0 02 and %g3, %g2, %g2
707eb4: 0a c0 80 07 brnz,pn %g2, 707ed0 <n_tty_set_termios+0x70>
707eb8: b8 07 60 30 add %i5, 0x30, %i4
707ebc: c4 06 21 1c ld [ %i0 + 0x11c ], %g2
707ec0: 80 88 a0 02 btst 2, %g2
707ec4: 22 68 00 58 be,a %xcc, 708024 <n_tty_set_termios+0x1c4>
707ec8: c4 06 21 10 ld [ %i0 + 0x110 ], %g2
707ecc: b8 07 60 30 add %i5, 0x30, %i4
707ed0: 92 10 20 00 clr %o1
707ed4: 90 10 00 1c mov %i4, %o0
707ed8: 40 07 dc 08 call 8feef8 <memset>
707edc: 94 10 20 20 mov 0x20, %o2
707ee0: c4 5e 21 10 ldx [ %i0 + 0x110 ], %g2
707ee4: 82 10 20 03 mov 3, %g1
707ee8: 83 28 70 27 sllx %g1, 0x27, %g1
707eec: 82 08 80 01 and %g2, %g1, %g1
707ef0: 0a c0 40 b8 brnz,pn %g1, 7081d0 <n_tty_set_termios+0x370>
707ef4: 90 10 20 0d mov 0xd, %o0
707ef8: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
707efc: 80 88 60 40 btst 0x40, %g1
707f00: 12 60 00 b0 bne,pn %xcc, 7081c0 <n_tty_set_termios+0x360>
707f04: 90 10 20 0a mov 0xa, %o0
707f08: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
707f0c: 80 88 60 02 btst 2, %g1
707f10: 32 60 00 87 bne,a,pn %xcc, 70812c <n_tty_set_termios+0x2cc>
707f14: d0 0e 21 23 ldub [ %i0 + 0x123 ], %o0
707f18: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
707f1c: 80 88 64 00 btst 0x400, %g1
707f20: 32 60 00 7c bne,a,pn %xcc, 708110 <n_tty_set_termios+0x2b0>
707f24: d0 0e 21 29 ldub [ %i0 + 0x129 ], %o0
707f28: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
707f2c: 80 88 60 01 btst 1, %g1
707f30: 32 60 00 6e bne,a,pn %xcc, 7080e8 <n_tty_set_termios+0x288>
707f34: d0 0e 21 21 ldub [ %i0 + 0x121 ], %o0
707f38: 90 10 20 00 clr %o0
707f3c: 40 07 db b9 call 8fee20 <clear_bit>
707f40: 92 10 00 1c mov %i4, %o1
707f44: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
707f48: 82 08 7f cf and %g1, -49, %g1
707f4c: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
707f50: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
707f54: 84 10 20 00 clr %g2
707f58: 85 7e 74 01 movrne %i1, 1, %g2
707f5c: 83 30 60 0a srl %g1, 0xa, %g1
707f60: 82 18 60 01 xor %g1, 1, %g1
707f64: 80 88 40 02 btst %g1, %g2
707f68: 02 40 00 0b be,pn %icc, 707f94 <n_tty_set_termios+0x134>
707f6c: 90 06 22 08 add %i0, 0x208, %o0
707f70: c2 06 40 00 ld [ %i1 ], %g1
707f74: 80 88 64 00 btst 0x400, %g1
707f78: 02 60 00 07 be,pn %xcc, 707f94 <n_tty_set_termios+0x134>
707f7c: 03 10 00 00 sethi %hi(0x40000000), %g1
707f80: c4 5e 21 d0 ldx [ %i0 + 0x1d0 ], %g2
707f84: 82 08 80 01 and %g2, %g1, %g1
707f88: 22 c0 40 96 brz,a,pn %g1, 7081e0 <n_tty_set_termios+0x380>
707f8c: 90 10 00 18 mov %i0, %o0
707f90: 90 06 22 08 add %i0, 0x208, %o0
707f94: 92 10 20 01 mov 1, %o1
707f98: 94 10 20 01 mov 1, %o2
707f9c: 7f f6 5c a9 call 49f240 <__wake_up>
707fa0: 96 10 20 00 clr %o3
707fa4: b0 06 22 20 add %i0, 0x220, %i0
707fa8: b2 10 20 01 mov 1, %i1
707fac: b4 10 20 01 mov 1, %i2
707fb0: 7f f6 5c a4 call 49f240 <__wake_up>
707fb4: 97 e8 20 00 restore %g0, 0, %o3
707fb8: b8 10 20 83 mov 0x83, %i4
707fbc: 92 10 20 00 clr %o1
707fc0: b9 2f 30 05 sllx %i4, 5, %i4
707fc4: 94 10 22 00 mov 0x200, %o2
707fc8: b8 07 40 1c add %i5, %i4, %i4
707fcc: 40 07 db cb call 8feef8 <memset>
707fd0: 90 10 00 1c mov %i4, %o0
707fd4: 82 10 21 13 mov 0x113, %g1
707fd8: 83 28 70 05 sllx %g1, 5, %g1
707fdc: c4 5f 40 01 ldx [ %i5 + %g1 ], %g2
707fe0: 82 10 24 4d mov 0x44d, %g1
707fe4: 83 28 70 03 sllx %g1, 3, %g1
707fe8: c4 77 40 01 stx %g2, [ %i5 + %g1 ]
707fec: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
707ff0: 80 88 60 02 btst 2, %g1
707ff4: 12 68 00 31 bne %xcc, 7080b8 <n_tty_set_termios+0x258>
707ff8: d0 5f 40 00 ldx [ %i5 ], %o0
707ffc: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
708000: c4 77 60 10 stx %g2, [ %i5 + 0x10 ]
708004: 82 08 7f fb and %g1, -5, %g1
708008: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
70800c: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
708010: d0 77 60 08 stx %o0, [ %i5 + 8 ]
708014: 82 08 60 3f and %g1, 0x3f, %g1
708018: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
70801c: 10 6f ff 9c b %xcc, 707e8c <n_tty_set_termios+0x2c>
708020: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
708024: 80 88 a4 00 btst 0x400, %g2
708028: 12 6f ff aa bne %xcc, 707ed0 <n_tty_set_termios+0x70>
70802c: b8 07 60 30 add %i5, 0x30, %i4
708030: c6 5e 21 18 ldx [ %i0 + 0x118 ], %g3
708034: 86 08 e0 09 and %g3, 9, %g3
708038: 0a f8 ff a7 brnz %g3, 707ed4 <n_tty_set_termios+0x74>
70803c: 92 10 20 00 clr %o1
708040: 80 88 a0 08 btst 8, %g2
708044: 12 6f ff a5 bne %xcc, 707ed8 <n_tty_set_termios+0x78>
708048: 90 10 00 1c mov %i4, %o0
70804c: 82 10 60 20 or %g1, 0x20, %g1
708050: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
708054: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
708058: 80 88 60 01 btst 1, %g1
70805c: 12 68 00 07 bne %xcc, 708078 <n_tty_set_termios+0x218>
708060: c6 5e 21 10 ldx [ %i0 + 0x110 ], %g3
708064: 84 10 20 05 mov 5, %g2
708068: 85 28 b0 21 sllx %g2, 0x21, %g2
70806c: 84 08 c0 02 and %g3, %g2, %g2
708070: 2a c8 80 69 brnz,a %g2, 708214 <n_tty_set_termios+0x3b4>
708074: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
708078: 82 10 20 05 mov 5, %g1
70807c: 84 10 20 01 mov 1, %g2
708080: 83 28 70 22 sllx %g1, 0x22, %g1
708084: 85 28 b0 24 sllx %g2, 0x24, %g2
708088: 82 08 c0 01 and %g3, %g1, %g1
70808c: 80 a0 40 02 cmp %g1, %g2
708090: 22 60 00 61 be,a,pn %xcc, 708214 <n_tty_set_termios+0x3b4>
708094: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
708098: c2 5e 20 10 ldx [ %i0 + 0x10 ], %g1
70809c: c2 58 60 68 ldx [ %g1 + 0x68 ], %g1
7080a0: 82 08 60 04 and %g1, 4, %g1
7080a4: 02 c8 40 5c brz %g1, 708214 <n_tty_set_termios+0x3b4>
7080a8: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
7080ac: 82 10 60 10 or %g1, 0x10, %g1
7080b0: 10 6f ff a8 b %xcc, 707f50 <n_tty_set_termios+0xf0>
7080b4: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
7080b8: 80 a0 80 08 cmp %g2, %o0
7080bc: 02 67 ff d0 be,pn %xcc, 707ffc <n_tty_set_termios+0x19c>
7080c0: 92 10 00 1c mov %i4, %o1
7080c4: 90 02 3f ff add %o0, -1, %o0
7080c8: 40 07 db 3b call 8fedb4 <set_bit>
7080cc: 90 0a 2f ff and %o0, 0xfff, %o0
7080d0: c2 0f 60 5d ldub [ %i5 + 0x5d ], %g1
7080d4: d0 5f 40 00 ldx [ %i5 ], %o0
7080d8: 82 10 60 04 or %g1, 4, %g1
7080dc: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
7080e0: 10 6f ff cb b %xcc, 70800c <n_tty_set_termios+0x1ac>
7080e4: d0 77 60 10 stx %o0, [ %i5 + 0x10 ]
7080e8: 40 07 db 33 call 8fedb4 <set_bit>
7080ec: 92 10 00 1c mov %i4, %o1
7080f0: d0 0e 21 22 ldub [ %i0 + 0x122 ], %o0
7080f4: 40 07 db 30 call 8fedb4 <set_bit>
7080f8: 92 10 00 1c mov %i4, %o1
7080fc: d0 0e 21 2b ldub [ %i0 + 0x12b ], %o0
708100: 40 07 db 2d call 8fedb4 <set_bit>
708104: 92 10 00 1c mov %i4, %o1
708108: 10 6f ff 8d b %xcc, 707f3c <n_tty_set_termios+0xdc>
70810c: 90 10 20 00 clr %o0
708110: 40 07 db 29 call 8fedb4 <set_bit>
708114: 92 10 00 1c mov %i4, %o1
708118: d0 0e 21 2a ldub [ %i0 + 0x12a ], %o0
70811c: 40 07 db 26 call 8fedb4 <set_bit>
708120: 92 10 00 1c mov %i4, %o1
708124: 10 6f ff 82 b %xcc, 707f2c <n_tty_set_termios+0xcc>
708128: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
70812c: 40 07 db 22 call 8fedb4 <set_bit>
708130: 92 10 00 1c mov %i4, %o1
708134: d0 0e 21 24 ldub [ %i0 + 0x124 ], %o0
708138: 40 07 db 1f call 8fedb4 <set_bit>
70813c: 92 10 00 1c mov %i4, %o1
708140: d0 0e 21 25 ldub [ %i0 + 0x125 ], %o0
708144: 40 07 db 1c call 8fedb4 <set_bit>
708148: 92 10 00 1c mov %i4, %o1
70814c: 90 10 20 0a mov 0xa, %o0
708150: 40 07 db 19 call 8fedb4 <set_bit>
708154: 92 10 00 1c mov %i4, %o1
708158: d0 0e 21 26 ldub [ %i0 + 0x126 ], %o0
70815c: 40 07 db 16 call 8fedb4 <set_bit>
708160: 92 10 00 1c mov %i4, %o1
708164: c4 06 21 1c ld [ %i0 + 0x11c ], %g2
708168: 03 00 00 20 sethi %hi(0x8000), %g1
70816c: 80 88 80 01 btst %g2, %g1
708170: 22 4f ff 6b be,a %icc, 707f1c <n_tty_set_termios+0xbc>
708174: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
708178: d0 0e 21 2f ldub [ %i0 + 0x12f ], %o0
70817c: 40 07 db 0e call 8fedb4 <set_bit>
708180: 92 10 00 1c mov %i4, %o1
708184: d0 0e 21 30 ldub [ %i0 + 0x130 ], %o0
708188: 40 07 db 0b call 8fedb4 <set_bit>
70818c: 92 10 00 1c mov %i4, %o1
708190: d0 0e 21 27 ldub [ %i0 + 0x127 ], %o0
708194: 40 07 db 08 call 8fedb4 <set_bit>
708198: 92 10 00 1c mov %i4, %o1
70819c: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
7081a0: 80 88 60 08 btst 8, %g1
7081a4: 22 6f ff 5e be,a %xcc, 707f1c <n_tty_set_termios+0xbc>
7081a8: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
7081ac: d0 0e 21 2d ldub [ %i0 + 0x12d ], %o0
7081b0: 40 07 db 01 call 8fedb4 <set_bit>
7081b4: 92 10 00 1c mov %i4, %o1
7081b8: 10 6f ff 59 b %xcc, 707f1c <n_tty_set_termios+0xbc>
7081bc: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
7081c0: 40 07 da fd call 8fedb4 <set_bit>
7081c4: 92 10 00 1c mov %i4, %o1
7081c8: 10 6f ff 51 b %xcc, 707f0c <n_tty_set_termios+0xac>
7081cc: c2 06 21 1c ld [ %i0 + 0x11c ], %g1
7081d0: 40 07 da f9 call 8fedb4 <set_bit>
7081d4: 92 10 00 1c mov %i4, %o1
7081d8: 10 6f ff 49 b %xcc, 707efc <n_tty_set_termios+0x9c>
7081dc: c2 06 21 10 ld [ %i0 + 0x110 ], %g1
7081e0: 7f ff f7 20 call 705e60 <start_tty>
7081e4: b2 10 20 01 mov 1, %i1
7081e8: b4 10 20 01 mov 1, %i2
7081ec: b6 10 20 00 clr %i3
7081f0: 7f ff fe fc call 707de0 <process_echoes>
7081f4: 90 10 00 18 mov %i0, %o0
7081f8: 90 06 22 08 add %i0, 0x208, %o0
7081fc: 92 10 20 01 mov 1, %o1
708200: 94 10 20 01 mov 1, %o2
708204: 7f f6 5c 0f call 49f240 <__wake_up>
708208: 96 10 20 00 clr %o3
70820c: 7f f6 5c 0d call 49f240 <__wake_up>
708210: 91 ee 22 20 restore %i0, 0x220, %o0
708214: 82 08 7f ef and %g1, -17, %g1
708218: 10 6f ff 4e b %xcc, 707f50 <n_tty_set_termios+0xf0>
70821c: c2 2f 60 5d stb %g1, [ %i5 + 0x5d ]
Disassembly of cheetah_copy_page_insn from V245:
000000000860d6c <cheetah_copy_page_insn>:
860d6c: 10 68 00 52 b %xcc, 860eb4 <cheetah_copy_page_insn+0x148>
860d70: 01 00 00 00 nop
860d74: 9b 41 80 00 rd %fprs, %o5
860d78: 80 8b 60 06 btst 6, %o5
860d7c: 02 48 00 05 be %icc, 860d90 <cheetah_copy_page_insn+0x24>
860d80: 0f 00 21 83 sethi %hi(0x860c00), %g7
860d84: 03 00 21 7e sethi %hi(0x85f800), %g1
860d88: 81 c0 63 80 jmp %g1 + 0x380 ! 85fb80 <VISenter>
860d8c: 8e 11 e1 90 or %g7, 0x190, %g7
860d90: 8d 80 20 04 wr %g0, 4, %fprs
860d94: 81 43 e0 0e membar #StoreStore|#LoadStore|#StoreLoad
860d98: 15 00 00 00 sethi %hi(0), %o2
860d9c: 82 10 00 08 mov %o0, %g1
860da0: c3 6a 60 00 prefetch [ %o1 ], #one_read
860da4: 94 12 a0 7e or %o2, 0x7e, %o2
860da8: c3 6a 60 40 prefetch [ %o1 + 0x40 ], #one_read
860dac: c3 6a 60 80 prefetch [ %o1 + 0x80 ], #one_read
860db0: c3 6a 60 c0 prefetch [ %o1 + 0xc0 ], #one_read
860db4: c1 1a 60 00 ldd [ %o1 ], %f0
860db8: c3 6a 61 00 prefetch [ %o1 + 0x100 ], #one_read
860dbc: c5 1a 60 08 ldd [ %o1 + 8 ], %f2
860dc0: c3 6a 61 40 prefetch [ %o1 + 0x140 ], #one_read
860dc4: c9 1a 60 10 ldd [ %o1 + 0x10 ], %f4
860dc8: c3 6a 61 80 prefetch [ %o1 + 0x180 ], #one_read
860dcc: a1 b0 0f 00 fsrc2d %f0, %f16
860dd0: cd 1a 60 18 ldd [ %o1 + 0x18 ], %f6
860dd4: a5 b0 0f 02 fsrc2d %f2, %f18
860dd8: d1 1a 60 20 ldd [ %o1 + 0x20 ], %f8
860ddc: a9 b0 0f 04 fsrc2d %f4, %f20
860de0: d5 1a 60 28 ldd [ %o1 + 0x28 ], %f10
860de4: ad b0 0f 06 fsrc2d %f6, %f22
860de8: d9 1a 60 30 ldd [ %o1 + 0x30 ], %f12
860dec: b1 b0 0f 08 fsrc2d %f8, %f24
860df0: dd 1a 60 38 ldd [ %o1 + 0x38 ], %f14
860df4: b5 b0 0f 0a fsrc2d %f10, %f26
860df8: c1 1a 60 40 ldd [ %o1 + 0x40 ], %f0
860dfc: c5 1a 60 48 ldd [ %o1 + 0x48 ], %f2
860e00: b9 b0 0f 0c fsrc2d %f12, %f28
860e04: c9 1a 60 50 ldd [ %o1 + 0x50 ], %f4
860e08: bd b0 0f 0e fsrc2d %f14, %f30
860e0c: e1 ba 1e 00 stda %f16, [ %o0 ] #ASI_BLK_P
860e10: cd 1a 60 58 ldd [ %o1 + 0x58 ], %f6
860e14: a1 b0 0f 00 fsrc2d %f0, %f16
860e18: d1 1a 60 60 ldd [ %o1 + 0x60 ], %f8
860e1c: a5 b0 0f 02 fsrc2d %f2, %f18
860e20: d5 1a 60 68 ldd [ %o1 + 0x68 ], %f10
860e24: a9 b0 0f 04 fsrc2d %f4, %f20
860e28: d9 1a 60 70 ldd [ %o1 + 0x70 ], %f12
860e2c: ad b0 0f 06 fsrc2d %f6, %f22
860e30: dd 1a 60 78 ldd [ %o1 + 0x78 ], %f14
860e34: b1 b0 0f 08 fsrc2d %f8, %f24
860e38: c1 1a 60 80 ldd [ %o1 + 0x80 ], %f0
860e3c: c3 6a 61 80 prefetch [ %o1 + 0x180 ], #one_read
860e40: b5 b0 0f 0a fsrc2d %f10, %f26
860e44: 94 a2 a0 01 deccc %o2
860e48: 90 02 20 40 add %o0, 0x40, %o0
860e4c: 12 6f ff ec bne %xcc, 860dfc <cheetah_copy_page_insn+0x90>
860e50: 92 02 60 40 add %o1, 0x40, %o1
860e54: c5 1a 60 48 ldd [ %o1 + 0x48 ], %f2
860e58: b9 b0 0f 0c fsrc2d %f12, %f28
860e5c: c9 1a 60 50 ldd [ %o1 + 0x50 ], %f4
860e60: bd b0 0f 0e fsrc2d %f14, %f30
860e64: e1 ba 1e 00 stda %f16, [ %o0 ] #ASI_BLK_P
860e68: cd 1a 60 58 ldd [ %o1 + 0x58 ], %f6
860e6c: a1 b0 0f 00 fsrc2d %f0, %f16
860e70: d1 1a 60 60 ldd [ %o1 + 0x60 ], %f8
860e74: a5 b0 0f 02 fsrc2d %f2, %f18
860e78: d5 1a 60 68 ldd [ %o1 + 0x68 ], %f10
860e7c: a9 b0 0f 04 fsrc2d %f4, %f20
860e80: d9 1a 60 70 ldd [ %o1 + 0x70 ], %f12
860e84: ad b0 0f 06 fsrc2d %f6, %f22
860e88: 90 02 20 40 add %o0, 0x40, %o0
860e8c: dd 1a 60 78 ldd [ %o1 + 0x78 ], %f14
860e90: b1 b0 0f 08 fsrc2d %f8, %f24
860e94: b5 b0 0f 0a fsrc2d %f10, %f26
860e98: b9 b0 0f 0c fsrc2d %f12, %f28
860e9c: bd b0 0f 0e fsrc2d %f14, %f30
860ea0: e1 ba 1e 00 stda %f16, [ %o0 ] #ASI_BLK_P
860ea4: 81 43 e0 40 membar #Sync
860ea8: 8d 80 20 00 wr %g0, 0, %fprs
860eac: 10 68 00 46 b %xcc, 860fc4 <cheetah_copy_page_insn+0x258>
860eb0: 01 00 00 00 nop
860eb4: 9b 41 80 00 rd %fprs, %o5
860eb8: 80 8b 60 06 btst 6, %o5
860ebc: 02 48 00 05 be %icc, 860ed0 <cheetah_copy_page_insn+0x164>
860ec0: 0f 00 21 83 sethi %hi(0x860c00), %g7
860ec4: 03 00 21 7e sethi %hi(0x85f800), %g1
860ec8: 81 c0 63 80 jmp %g1 + 0x380 ! 85fb80 <VISenter>
860ecc: 8e 11 e2 d0 or %g7, 0x2d0, %g7
860ed0: 8d 80 20 04 wr %g0, 4, %fprs
860ed4: c6 09 a0 08 ldub [ %g6 + 8 ], %g3
860ed8: 82 10 00 08 mov %o0, %g1
860edc: 80 a0 e0 00 cmp %g3, 0
860ee0: 87 40 c0 00 rd %asi, %g3
860ee4: 22 48 00 03 be,a %icc, 860ef0 <cheetah_copy_page_insn+0x184>
860ee8: 87 80 20 f0 wr %g0, 0xf0, %asi
860eec: 87 80 20 e0 wr %g0, 0xe0, %asi
860ef0: c1 9a 5e 00 ldda [ %o1 ] #ASI_BLK_P, %f0
860ef4: 92 02 60 40 add %o1, 0x40, %o1
860ef8: e1 9a 5e 00 ldda [ %o1 ] #ASI_BLK_P, %f16
860efc: 92 02 60 40 add %o1, 0x40, %o1
860f00: 15 00 00 08 sethi %hi(0x2000), %o2
860f04: a3 b0 0f 00 fsrc2d %f0, %f48
860f08: a7 b0 0f 02 fsrc2d %f2, %f50
860f0c: ab b0 0f 04 fsrc2d %f4, %f52
860f10: af b0 0f 06 fsrc2d %f6, %f54
860f14: b3 b0 0f 08 fsrc2d %f8, %f56
860f18: b7 b0 0f 0a fsrc2d %f10, %f58
860f1c: bb b0 0f 0c fsrc2d %f12, %f60
860f20: bf b0 0f 0e fsrc2d %f14, %f62
860f24: c3 9a 5e 00 ldda [ %o1 ] #ASI_BLK_P, %f32
860f28: e3 ba 20 00 stda %f48, [ %o0 ] %asi
860f2c: 92 02 60 40 add %o1, 0x40, %o1
860f30: 94 22 a0 40 sub %o2, 0x40, %o2
860f34: 90 02 20 40 add %o0, 0x40, %o0
860f38: a3 b0 0f 10 fsrc2d %f16, %f48
860f3c: a7 b0 0f 12 fsrc2d %f18, %f50
860f40: ab b0 0f 14 fsrc2d %f20, %f52
860f44: af b0 0f 16 fsrc2d %f22, %f54
860f48: b3 b0 0f 18 fsrc2d %f24, %f56
860f4c: b7 b0 0f 1a fsrc2d %f26, %f58
860f50: bb b0 0f 1c fsrc2d %f28, %f60
860f54: bf b0 0f 1e fsrc2d %f30, %f62
860f58: c1 9a 5e 00 ldda [ %o1 ] #ASI_BLK_P, %f0
860f5c: e3 ba 20 00 stda %f48, [ %o0 ] %asi
860f60: 92 02 60 40 add %o1, 0x40, %o1
860f64: 94 22 a0 40 sub %o2, 0x40, %o2
860f68: 90 02 20 40 add %o0, 0x40, %o0
860f6c: a3 b0 0f 01 fsrc2d %f32, %f48
860f70: a7 b0 0f 03 fsrc2d %f34, %f50
860f74: ab b0 0f 05 fsrc2d %f36, %f52
860f78: af b0 0f 07 fsrc2d %f38, %f54
860f7c: b3 b0 0f 09 fsrc2d %f40, %f56
860f80: b7 b0 0f 0b fsrc2d %f42, %f58
860f84: bb b0 0f 0d fsrc2d %f44, %f60
860f88: bf b0 0f 0f fsrc2d %f46, %f62
860f8c: e1 9a 5e 00 ldda [ %o1 ] #ASI_BLK_P, %f16
860f90: e3 ba 20 00 stda %f48, [ %o0 ] %asi
860f94: 94 22 a0 40 sub %o2, 0x40, %o2
860f98: 92 02 60 40 add %o1, 0x40, %o1
860f9c: 80 a2 a0 80 cmp %o2, 0x80
860fa0: 12 6f ff d9 bne %xcc, 860f04 <cheetah_copy_page_insn+0x198>
860fa4: 90 02 20 40 add %o0, 0x40, %o0
860fa8: 81 43 e0 40 membar #Sync
860fac: c1 ba 20 00 stda %f0, [ %o0 ] %asi
860fb0: 90 02 20 40 add %o0, 0x40, %o0
860fb4: e1 ba 20 00 stda %f16, [ %o0 ] %asi
860fb8: 81 43 e0 40 membar #Sync
860fbc: 87 80 e0 00 wr %g3, 0, %asi
860fc0: 8d 80 20 00 wr %g0, 0, %fprs
860fc4: c0 f0 4b e0 stxa %g0, [ %g1 ] #ASI_DMMU_DEMAP
860fc8: 81 43 e0 40 membar #Sync
860fcc: 05 00 00 10 sethi %hi(0x4000), %g2
860fd0: c0 f0 4b e2 stxa %g0, [ %g1 + %g2 ] #ASI_DMMU_DEMAP
860fd4: 81 43 e0 40 membar #Sync
860fd8: 81 c3 e0 08 retl
860fdc: d8 21 a0 30 st %o4, [ %g6 + 0x30 ]
--
Meelis Roos <mroos@...ux.ee>
Powered by blists - more mailing lists