Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 May 2019 19:57:40 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Justin Hibbits <chmeeedalf@gmail.com>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: head -r347003 on 2-socket/2-cores-each G5 PowerMac11,2's: one type of boot-blocking context found
Message-ID:  <BA575D6E-907D-40FD-80A7-AA4C836311B7@yahoo.com>
In-Reply-To: <C85B1B21-5BF6-4CFC-B928-2F19960B91E2@yahoo.com>
References:  <D2CEBBBA-40A5-4924-9817-53A8ED81011E@yahoo.com> <20190507130654.20a269f6@titan.knownspace> <C85B1B21-5BF6-4CFC-B928-2F19960B91E2@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This note just reports various examples of
handle_kernel_slb_spill instances. There
are many instances that are sometimes in
common across the examples.

Note that there are no examples of srr0
being reported from the DMAP space, they
all have srr0<DMAP_START . This is true
for both type 0x480 (EXC_ISE) and 0x380
(EXC_DSE).

For dar: some dar<DMAP_START but most
examples have DMAP_START<=3Ddar .


Failed boot example . . .


Sometime after the moea64_bootstrap_slb_prefault
loop finished: i.e., for bs_remap_earlyboot
related activity.=20

type 0x480 srr0 0xab6948 dar 0x1e29000

0000000000ab6944 <.bs_gen_map+0x110> lwz     r0,0(r6)
0000000000ab6948 <.bs_remap_earlyboot> mflr    r0
0000000000ab694c <.bs_remap_earlyboot+0x4> std     r22,-80(r1)

type 0x380 srr0 0xa87f14 dar 0xc000000003d99708

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


type 0x380 srr0 0xa8fbe4 dar 0xc000000018c99020

0000000000a8fbe0 <.moea64_pte_unset_native+0x6c> ld      r2,40(r1)
0000000000a8fbe4 <.moea64_pte_unset_native+0x70> ldx     r9,r29,r27


Sometime during dpcpu_init:

type 0x380 srr0 0xa87be8 dar 0xe000000000022ef8

0000000000a87be4 <.memcpy+0x140> ldu     r0,-8(r9)
0000000000a87be8 <.memcpy+0x144> stdu    r0,-8(r11)
0000000000a87bec <.memcpy+0x148> bdnz    0000000000a87be4 =
<.memcpy+0x140>


Sometime after numa_mem_regions returned:
(so after moea64_bootstrap_native)

type 0x380 srr0 0xa842c8 dar 0x9003e000

0000000000a842c4 <.ofwfb_bitblt_bitmap+0x20c> add     r9,r6,r9
0000000000a842c8 <.ofwfb_bitblt_bitmap+0x210> stwx    r11,r9,r8


Sometime after msgbufinit returned:

type 0x480 srr0 0xff846d78 dar 0x9003e000

(srr0: Probably an openfirmware code address?)

type 0x380 srr0 0xa5d598 dar 0xc00000036ebd4020

0000000000a5d594 <.vm_page_startup+0x6ac> li      r11,0
0000000000a5d598 <.vm_page_startup+0x6b0> std     r11,32(r29)


Sometime after platform_smp_probe_threads
returned:

type 0x380 srr0 0x6d7520 dar 0xe000000064d22000

00000000006d751c <.callout_cpu_init+0x94> li      r0,0
00000000006d7520 <.callout_cpu_init+0x98> stdx    r0,r11,r9




Failed boot example . . .

Like above but one did *not* happen:

type 0x380 srr0 0xa8fbe4 dar 0xc000000018c99020




Successful boot example . . .


Sometime after the moea64_bootstrap_slb_prefault
loop finished: i.e., for bs_remap_earlyboot
related activity.=20

type 0x380 srr0 0xa87f14 dar 0xc000000003d99708

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


type 0x380 srr0 0xa8fbe4 dar 0xc000000018c99040

0000000000a8fbe0 <.moea64_pte_unset_native+0x6c> ld      r2,40(r1)
0000000000a8fbe4 <.moea64_pte_unset_native+0x70> ldx     r9,r29,r27

type 0x380 srr0 0xa8fc54 dar 0xc000000003587600

0000000000a8fc50 <.moea64_pte_unset_native+0xdc> ptesync
0000000000a8fc54 <.moea64_pte_unset_native+0xe0> ld      r0,88(r26)


Sometime during dpcpu_init:

type 0x380 srr0 0xa87be8 dar 0xe000000000022ef8

0000000000a87be4 <.memcpy+0x140> ldu     r0,-8(r9)
0000000000a87be8 <.memcpy+0x144> stdu    r0,-8(r11)
0000000000a87bec <.memcpy+0x148> bdnz    0000000000a87be4 =
<.memcpy+0x140>


Sometime after msgbufinit returned:

type 0x380 srr0 0xa5d598 dar 0xc00000036ebd4020

0000000000a5d594 <.vm_page_startup+0x6ac> li      r11,0
0000000000a5d598 <.vm_page_startup+0x6b0> std     r11,32(r29)

type 0x380 srr0 0xa8ee80 dar 0xc00000007f5e0000

0000000000a8ee7c <.moea64_zero_page+0x178> mr      r11,r9
0000000000a8ee80 <.moea64_zero_page+0x17c> dcbz    0,r10



Successful boot example . . .


Sometime after the moea64_bootstrap_slb_prefault
loop finished: i.e., for bs_remap_earlyboot
related activity.=20

type 0x380 srr0 0xa87f14 dar 0xc000000003d99708

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


type 0x380 srr0 0xa8fbe4 dar 0xc000000018c99000

0000000000a8fbe0 <.moea64_pte_unset_native+0x6c> ld      r2,40(r1)
0000000000a8fbe4 <.moea64_pte_unset_native+0x70> ldx     r9,r29,r27


Sometime after numa_mem_regions returned:
(so after moea64_bootstrap_native)


type 0x380 srr0 0xa842c8 dar 0x9003e000

0000000000a8fbe0 <.moea64_pte_unset_native+0x6c> ld      r2,40(r1)
0000000000a8fbe4 <.moea64_pte_unset_native+0x70> ldx     r9,r29,r27


Sometime after msgbufinit returned:=20

type 0x480 srr0 0xff846d78 dar 0x9003e000

(srr0: Probably an openfirmware code address?)

type 0x380 srr0 0xa87f14 dar 0xc00000037fffa000

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>

type 0x380 srr0 0xa5d598 dar 0xc00000036ebd4020

0000000000a5d594 <.vm_page_startup+0x6ac> li      r11,0
0000000000a5d598 <.vm_page_startup+0x6b0> std     r11,32(r29)

type 0x380 srr0 0xa8ee80 dar 0xc00000007f5e0000

0000000000a8ee7c <.moea64_zero_page+0x178> mr      r11,r9
0000000000a8ee80 <.moea64_zero_page+0x17c> dcbz    0,r10


Sometime after platform_smp_probe_threads
returned:

type 0x380 srr0 0xa406b4 dar 0xe0000000583ac000

0000000000a406b0 <.trash_dtor+0x2c> mtctr   r9
0000000000a406b4 <.trash_dtor+0x30> stw     r0,0(r3)
0000000000a406b8 <.trash_dtor+0x34> addi    r3,r3,4
0000000000a406bc <.trash_dtor+0x38> bdnz    0000000000a406b4 =
<.trash_dtor+0x30>


Sometime during the cpu_mp_unleash final DELAY:

type 0x380 srr0 0xacbec8 dar 0xe000000058403b38

0000000000acbec0 <blocked_loop+0xc> isync
0000000000acbec4 <blocked_loop+0x10> ld      r17,1056(r13)
0000000000acbec8 <blocked_loop+0x14> ld      r1,168(r17)



Failed boot example . . .


Sometime after the moea64_bootstrap_slb_prefault
loop finished: i.e., for bs_remap_earlyboot
related activity.=20

type 0x380 srr0 0xa87f14 dar 0xc000000003d99708

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


Sometime after msgbufinit returned:=20

type 0x380 srr0 0xa87f14 dar 0xc00000037fffa000

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


Sometime after platform_smp_probe_threads
returned:

type 0x380 srr0 0x6d7520 dar 0xe000000064d22000

00000000006d751c <.callout_cpu_init+0x94> li      r0,0
00000000006d7520 <.callout_cpu_init+0x98> stdx    r0,r11,r9

type 0x380 srr0 0xa406b4 dar 0xe0000000583ac000

0000000000a406b0 <.trash_dtor+0x2c> mtctr   r9
0000000000a406b4 <.trash_dtor+0x30> stw     r0,0(r3)
0000000000a406b8 <.trash_dtor+0x34> addi    r3,r3,4
0000000000a406bc <.trash_dtor+0x38> bdnz    0000000000a406b4 =
<.trash_dtor+0x30>




Failed boot example . . .


Sometime after the moea64_bootstrap_slb_prefault
loop finished: i.e., for bs_remap_earlyboot
related activity.=20

type 0x480 srr0 0xab6948 dar 0x1e29000

0000000000ab6944 <.bs_gen_map+0x110> lwz     r0,0(r6)
0000000000ab6948 <.bs_remap_earlyboot> mflr    r0
0000000000ab694c <.bs_remap_earlyboot+0x4> std     r22,-80(r1)

type 0x380 srr0 0xa87f14 dar 0xc000000003d99708

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>


Sometime during dpcpu_init:

type 0x380 srr0 0xa87be8 dar 0xe000000000022ef8

0000000000a87be4 <.memcpy+0x140> ldu     r0,-8(r9)
0000000000a87be8 <.memcpy+0x144> stdu    r0,-8(r11)
0000000000a87bec <.memcpy+0x148> bdnz    0000000000a87be4 =
<.memcpy+0x140>


Sometime after numa_mem_regions returned:
(so after moea64_bootstrap_native)

type 0x380 srr0 0xa842c8 dar 0x9003e000

0000000000a842c4 <.ofwfb_bitblt_bitmap+0x20c> add     r9,r6,r9
0000000000a842c8 <.ofwfb_bitblt_bitmap+0x210> stwx    r11,r9,r8


Sometime after msgbufinit returned:

type 0x480 srr0 0xff846d78 dar 0x9003e000

(srr0: Probably an openfirmware code address?)

type 0x380 srr0 0xa87f14 dar 0xc00000037fffa000

0000000000a87f14 <.memset+0x20> stbx    r4,r9,r3
0000000000a87f18 <.memset+0x24> addi    r9,r9,1
0000000000a87f1c <.memset+0x28> bdnz    0000000000a87f14 <.memset+0x20>

type 0x380 srr0 0xa8ee80 dar 0xc00000007f5e0000

0000000000a8ee7c <.moea64_zero_page+0x178> mr      r11,r9
0000000000a8ee80 <.moea64_zero_page+0x17c> dcbz    0,r10


Sometime after platform_smp_probe_threads
returned:

type 0x380 srr0 0x6d7520 dar 0xe000000064d22000

00000000006d751c <.callout_cpu_init+0x94> li      r0,0
00000000006d7520 <.callout_cpu_init+0x98> stdx    r0,r11,r9



Some prior forms of sampling recorded less about the
calling context but showed some things like the
below. It was a different kernel build and the
code I'm looking up is newer so the detailed
address might not have the same instruction it
did back then. But the routine name could be
suggestive.

type 0x380 srr0 0xa8fb30 dar 0xc000000018c99070

0000000000a8fb28 <.moea64_pte_insert_native+0x204> li      r5,745
0000000000a8fb2c <.moea64_pte_insert_native+0x208> bl      =
00000000009897ac <.nlm_cancel_msg_1_svc+0x324c>
0000000000a8fb30 <.moea64_pte_insert_native+0x20c> ld      r2,40(r1)

type 0x380 srr0 0xa8edcc dar 0xc00000007f5e0000

0000000000a8edc4 <.moea64_zero_page+0xc0> add     r9,r8,r10
0000000000a8edc8 <.moea64_zero_page+0xc4> ld      r0,8(r9)
0000000000a8edcc <.moea64_zero_page+0xc8> add     r0,r11,r0

type 0x380 srr0 0xacbd08 dar 0xe000000058403b38

0000000000acbd00 <.longjmp+0x50> ld      r0,176(r3)
0000000000acbd04 <.longjmp+0x54> mtcr    r0
0000000000acbd08 <.longjmp+0x58> ld      r0,168(r3)

type 0x480 srr0 0xacbd08 dar 0xe000000058403b38

0000000000acbd00 <.longjmp+0x50> ld      r0,176(r3)
0000000000acbd04 <.longjmp+0x54> mtcr    r0
0000000000acbd08 <.longjmp+0x58> ld      r0,168(r3)

type 0x380 srr0 0xacbd18 dar 0xe000000058403b38

0000000000acbd10 <.longjmp+0x60> ld      r0,184(r3)
0000000000acbd14 <.longjmp+0x64> mtctr   r0
0000000000acbd18 <.longjmp+0x68> ld      r0,192(r3)
0000000000acbd1c <.longjmp+0x6c> mtxer   r0

type 0x380 srr0 0xa8fba0 dar 0xc0000000035875a0

0000000000a8fb98 <.moea64_pte_unset_native+0x24> stdu    r1,-192(r1)
0000000000a8fb9c <.moea64_pte_unset_native+0x28> mr      r31,r1
0000000000a8fba0 <.moea64_pte_unset_native+0x2c> mr      r26,r4
0000000000a8fba4 <.moea64_pte_unset_native+0x30> ld      r29,48(r4)
0000000000a8fba8 <.moea64_pte_unset_native+0x34> rldicr  r29,r29,4,59
0000000000a8fbac <.moea64_pte_unset_native+0x38> ld      r28,1664(r2)


=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BA575D6E-907D-40FD-80A7-AA4C836311B7>