PCI range checking under qemu-system-sparc64
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sun Jun 14 21:56:39 UTC 2015
On 14/06/15 21:56, John Baldwin wrote:
>> On Jun 14, 2015, at 15:00, Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk> wrote:
>>
>> On 14/06/15 17:07, John Baldwin wrote:
>>
>>>> Does the latest HEAD contain a fix for this error or have I
>>>> misconfigured something?
>>>
>>> Did you do 'make TARGET=sparc64 kernel-toolchain' first?
>>
>> Ah no - I just tried your instructions as printed as I'm not overly
>> familiar with FreeBSD. With the above statement run first, I'm now able
>> to complete the kernel build but still can't seem to create the
>> resulting ISO:
>
> kldload geom_vtoc8
>
> (Or whatever GEOM module has vtoc8 in its name)
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.
ATB,
Mark.
More information about the freebsd-sparc64
mailing list