PCI range checking under qemu-system-sparc64
Alexey Dokuchaev
danfe at FreeBSD.org
Sun Sep 6 11:03:08 UTC 2015
On Sun, Jun 14, 2015 at 10:56:23PM +0100, Mark Cave-Ayland wrote:
> Got it. The module name was geom_part_vtoc8 and that was enough to
> enable me to generate a valid ISO, apply your patch and verify that the
> build works. Thank you for your help so far!
>
> A quick test with QEMU debugging enabled shows the following on the
> console just before the freeze:
>
> IN:
> 0x00000000c0590188: st %g1, [ %l3 + 0x8c ]
> 0x00000000c059018c: membar #MemIssue
> 0x00000000c0590190: sll %l0, 2, %g2
> 0x00000000c0590194: ld [ %i3 + 0x88 ], %g1
> 0x00000000c0590198: cmp %g2, %g1
> 0x00000000c059019c: clr %o0
> 0x00000000c05901a0: movg %icc, 1, %o0
> 0x00000000c05901a4: call 0xc08aaee0
>
> (hangs)
>
> Examining the kernel symbols show that 0xc08aaee0 is the address of the
> cpu_idle() function which is being called from sched_idletd(). My next
> job will be to step through cpu_idle() and see if we're getting stuck in
> a loop or disappearing somewhere else.
Applying the patch (extended version in D2791) fixed the panic for me as
well (on qemu v2.4.0 built from emulators/qemu-devel port). Kernel keeps
booting and hangs after printing "IPsec: Initialized Security Association
Processing." line, however last assembly lines in the log are different:
IN:
0x00000000c06183b8: ldsh [ %l3 + 0x9a ], %g1
0x00000000c06183bc: ldsh [ %l3 + 0x98 ], %g2
0x00000000c06183c0: add %g1, %g2, %l0
0x00000000c06183c4: ld [ %l3 + 0x88 ], %g1
0x00000000c06183c8: cmp %g1, 0
0x00000000c06183cc: bne %icc, 0xc061812c
0x00000000c06183d0: cmp %l0, %l1
Mark did you have any success with getting the boot process further?
./danfe
More information about the freebsd-sparc64
mailing list